Submission #307114

#TimeUsernameProblemLanguageResultExecution timeMemory
307114plekkpeaCarnival Tickets (IOI20_tickets)C++14
27 / 100
745 ms51832 KiB
#include "tickets.h" #include<bits/stdc++.h> #include <vector> using namespace std; typedef long long ll; long long find_maximum(int k, vector<vector<int> > x) { int n = x.size(); int m = x[0].size(); vector<vector<int> > answer; vector<pair<ll,ll> > p; for (int i = 0; i < n; i++) { vector<int> row(m); for (int j = 0; j < m; j++) row[j] = -1; answer.push_back(row); } ll l[n+5],r[n+5],y,tul=0,u; for(int i=0; i<n; i++) l[i]=0,r[i]=m-1; for(int o=0; o<k; o++){ p.resize(0); for(int i=0; i<n; i++) p.push_back({x[i][l[i]]+x[i][r[i]],i}); sort(p.begin(),p.end()); u=p[n/2].second; u=x[u][r[u]]; for(int i=0; i<n; i++) if(i<n/2){ y=p[i].second; answer[y][l[y]]=o; tul+=u-x[y][l[y]]; l[y]++; } else{ y=p[i].second; answer[y][r[y]]=o; tul+=x[y][r[y]]-u; r[y]--; } } allocate_tickets(answer); return tul; }
#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...