Submission #837398

#TimeUsernameProblemLanguageResultExecution timeMemory
837398KemalKCarnival Tickets (IOI20_tickets)C++17
27 / 100
397 ms51320 KiB
#include "tickets.h" #include <vector> #include <bits/stdc++.h> typedef long long int ll; using namespace std; long long find_maximum(int k, vector<std::vector<int>> x) { int n = x.size(); int m = x[0].size(); vector <vector <int>> ans(n, vector <int> (m, -1)); ll sum = 0; vector <pair<ll, int>> ticket; for (int i = 0; i < n; i++){ if (m > 1){ ll cur = -x[i][0] - x[i][m - 1]; ticket.push_back({cur, i}); } else{ ticket.push_back({-x[i][0], i}); } sum += x[i][m - 1]; } sort(ticket.begin(), ticket.end(), greater<pair<ll, int>>()); for (int i = 0; i < n/2; i++){ if (m > 1){ sum += ticket[i].first; } else{ sum += 2*ticket[i].first; } int pos = ticket[i].second; ans[pos][0] = 0; } for (int i = 0; i < n; i++){ if (ans[i][0] != 0){ ans[i][m - 1] = 0; } } // cout << sum << "\n"; // cout << "allocate" << "\n"; allocate_tickets(ans); return sum; }
#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...