Submission #522713

#TimeUsernameProblemLanguageResultExecution timeMemory
522713jamezzzCarnival Tickets (IOI20_tickets)C++17
11 / 100
1 ms588 KiB
#include "tickets.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> ii; #define fi first #define se second #define pb push_back #define all(x) x.begin(),x.end() ll find_maximum(int k,vector<vector<int>> x){ int n=x.size(); int m=x[0].size(); vector<vector<int>> answer; answer.resize(n); for(int i=0;i<n;++i)answer[i].resize(m,-1); vector<ii> v; for(int i=0;i<n;++i){ for(int j=0;j<m;++j){ v.pb({x[i][j],i*m+j}); } } sort(all(v)); int l=0,r=n*m-1; vector<bool> use(n,false); ll mx=0; for(int i=0;i<n/2;++i){ while(use[v[l].se/m])++l; use[v[l].se/m]=true; answer[v[l].se/m][v[l].se%m]=0; mx-=v[l].fi; while(use[v[r].se/m])--r; use[v[r].se/m]=true; answer[v[r].se/m][v[r].se%m]=0; mx+=v[r].fi; } allocate_tickets(answer); return mx; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...