Submission #464487

#TimeUsernameProblemLanguageResultExecution timeMemory
464487armand카니발 티켓 (IOI20_tickets)C++14
11 / 100
2 ms716 KiB
#include "tickets.h" #include <vector> #include <algorithm> using namespace std; long long find_maximum(int k, std::vector<std::vector<int>> x) { int n = x.size(); int m = x[0].size(); int i, j; long long res = 0; std::vector<std::vector<int>> answer; vector<pair<int, int> > a(n); vector<int> min_index(n), max_index(n); for (i = 0; i < n; i++) { min_index[i] = 0; max_index[i] = 0; for (j = 1; j < m; j++) { if (x[i][j] < x[i][min_index[i]]) min_index[i] = j; if (x[i][j] >= x[i][max_index[i]]) max_index[j] = j; } } for (i = 0; i < n; i++) { std::vector<int> row(m, -1); answer.push_back(row); } for (i = 0; i < n; i++) { a[i].first = x[i][max_index[i]] + x[i][min_index[i]]; a[i].second = i; res -= x[i][min_index[i]]; } sort(a.begin(), a.end()); for (i = 0; i < n / 2; i++) answer[a[i].second][min_index[a[i].second]] = 0; for (i = n / 2; i < n; i++) { answer[a[i].second][max_index[a[i].second]] = 0; res += a[i].first; } allocate_tickets(answer); return res; }
#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...