제출 #418089

#제출 시각아이디문제언어결과실행 시간메모리
418089qwerasdfzxclCarnival Tickets (IOI20_tickets)C++14
27 / 100
647 ms53064 KiB
#include "tickets.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; ll find_maximum(int k, vector<vector<int>> x) { int n = x.size(); int m = x[0].size(); vector<vector<int>> ans; ans.resize(n); for (int i=0;i<n;i++){ ans[i].resize(m); fill(ans[i].begin(), ans[i].end(), -1); } ll ret = 0; vector<pair<int, int>> LR(n); fill(LR.begin(), LR.end(), make_pair(0, m-1)); for (int z=0;z<k;z++){ priority_queue<pair<ll, int>> pq; for (int i=0;i<n;i++){ ret += x[i][LR[i].second]; pq.push({-x[i][LR[i].first]-x[i][LR[i].second], i}); ans[i][LR[i].second] = z; LR[i].second--; } for (int i=0;i<n/2;i++){ auto p = pq.top(); pq.pop(); ret += p.first; ans[p.second][LR[p.second].second+1] = -1; ans[p.second][LR[p.second].first] = z; LR[p.second].first++, LR[p.second].second++; } } allocate_tickets(ans); return ret; }
#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...