Submission #301545

#TimeUsernameProblemLanguageResultExecution timeMemory
301545qiangbaoCarnival Tickets (IOI20_tickets)C++14
27 / 100
817 ms60280 KiB
#include <iostream> #include <algorithm> #include <vector> #include "tickets.h" #define pb push_back using namespace std; typedef long long ll; typedef pair<int, int> pii; int n, m, kk; vector<vector<int> > a; int beg[1501], endi[1501]; vector<pii> subt; ll ansval=0; vector<int> plamt; vector<vector<int> > ans; ll find_maximum(int kkk, vector<vector<int> > x) { int i, j; n=x.size(), m=x[1].size(), kk=kkk; a=x; for(i=0;i<m;i++) plamt.pb(-1); for(i=0;i<n;i++) ans.pb(plamt); for(i=0;i<n;i++) sort(a[i].begin(), a[i].end()); for(i=0;i<n;i++) endi[i]=m-1; for(i=0;i<kk;i++){ subt.clear(); for(j=0;j<n;j++){ ansval+=a[j][endi[j]]; subt.pb({a[j][endi[j]]+a[j][beg[j]], j}); } sort(subt.begin(), subt.end()); for(j=0;j<n/2;j++){ ansval-=subt[j].first; ans[subt[j].second][beg[subt[j].second]]=i; beg[subt[j].second]++; } for(j=n/2;j<n;j++){ ans[subt[j].second][endi[subt[j].second]]=i; endi[subt[j].second]--; } } allocate_tickets(ans); return ansval; } //int main() //{ // find_maximum(2, {{0, 2, 5},{1, 1, 3}}); //}
#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...