제출 #518378

#제출 시각아이디문제언어결과실행 시간메모리
518378Plurm카니발 티켓 (IOI20_tickets)C++17
11 / 100
62 ms588 KiB
#include "tickets.h" #include <bits/stdc++.h> using namespace std; long long find_maximum(int k, vector<vector<int>> x) { int n = x.size(); int m = x[0].size(); vector<vector<int>> answer; for (int i = 0; i < n; i++) { vector<int> row(m); for (int j = 0; j < m; j++) { row[j] = -1; } answer.push_back(row); } long long ans = 0ll; for(int t = 0; t < k; t++){ set<int> used_rows; for(int tt = 0; tt < n/2; tt++){ int mx = -1; int mrow = -1; int mcol = -1; for(int i = 0; i < n; i++){ if(used_rows.count(i)) continue; for(int j = 0; j < m; j++){ if(answer[i][j] == -1){ if(x[i][j] > mx){ mx = x[i][j]; mrow = i; mcol = j; } } } } used_rows.insert(mrow); answer[mrow][mcol] = t; ans += mx; } for(int tt = 0; tt < n/2; tt++){ int mn = 1e9; int mrow = -1; int mcol = -1; for(int i = 0; i < n; i++){ if(used_rows.count(i)) continue; for(int j = 0; j < m; j++){ if(answer[i][j] == -1){ if(x[i][j] < mn){ mn = x[i][j]; mrow = i; mcol = j; } } } } used_rows.insert(mrow); answer[mrow][mcol] = t; ans -= mn; } } 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...