Submission #300759

#TimeUsernameProblemLanguageResultExecution timeMemory
300759BaraaArmoushCarnival Tickets (IOI20_tickets)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <int,int> pii; ll find_maximum(int k, vector <vector <int>> a) { int n = a.size(); int m = a[0].size(); vector <vector <pii>> b(n, vector <pii> (m)); for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) b[i][j] = pii(a[i][j], j); for(int i = 0; i < n; i++) sort(b[i].begin(), b[i].end()); vector <int> PrefixTaken(n, k); vector <int> SuffixTaken(n, 0); ll Ans = 0; for(int i = 0; i < n; i++) for(int j = 0; j < k; j++) Ans -= b[i][j].first; priority_queue <pair <int,pii>> q; for(int i = 0; i < n; i++) q.emplace(b[i][m - 1].first + b[i][k - 1].first, pii(i, m - 1)); for(int repeat = 0; repeat < k * n / 2; repeat++) { pair <int,pii> p = q.top(); q.pop(); int x = p.first; int i = p.second.first; int j = p.second.second; int r = m - j + 1; PrefixTaken[i]--; SuffixTaken[i]++; Ans += x; if(k - r >= 0) q.emplace(b[i][m - r].first + b[i][k - r].first, pii(i, j - 1)); } vector <vector <int>> s(n, vector <int> (m, -1)); vector <pii> Sum(k); for(int j = 0; j < k; j++) Sum[j] = pii(0, j); for(int i = 0; i < n; i++) { for(int j = 0; j < SuffixTaken[i]; j++) { Sum[j].first++; s[i][b[i][j].second] = Sum[j].second; } for(int j = 1; j <= PrefixTaken[i]; j++) { Sum[k - j].first--; s[i][b[i][m - j].second] = Sum[k - j].second; } sort(Sum.begin(), Sum.end()); } for(int j = 0; j < k; j++) assert(Sum[j].first == 0); return allocate_tickets(s), Ans; }

Compilation message (stderr)

tickets.cpp: In function 'll find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:77:12: error: 'allocate_tickets' was not declared in this scope
   77 |     return allocate_tickets(s), Ans;
      |            ^~~~~~~~~~~~~~~~