Submission #414172

#TimeUsernameProblemLanguageResultExecution timeMemory
414172Bill_00Carnival Tickets (IOI20_tickets)C++14
27 / 100
617 ms51860 KiB
#include "tickets.h" #include <bits/stdc++.h> #define pb push_back using namespace std; int l[2005],r[2005]; long long find_maximum(int k, vector<vector<int> > x) { int n = x.size(); int m = x[0].size(); long long ans=0; vector<vector<int> > answer; for (int i = 0; i < n; i++) { std::vector<int> row(m); for (int j = 0; j < m; j++) { row[j]=-1; } answer.push_back(row); } for(int i=0;i<n;i++){ l[i]=0; r[i]=m-1; } for(int i=0;i<k;i++){ vector<pair<long long,int> >v; for(int j=0;j<n;j++){ ans+=((long long)x[j][r[j]]); v.pb({x[j][l[j]]+x[j][r[j]],j}); } sort(v.begin(),v.end()); for(int j=0;j<n;j++){ int id=v[j].second; if(j<(n/2)){ ans-=((long long)v[j].first); answer[id][l[id]]=i; l[id]++; } else{ answer[id][r[id]]=i; r[id]--; } } } allocate_tickets(answer); return ans; }
#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...