제출 #1191139

#제출 시각아이디문제언어결과실행 시간메모리
1191139anmattroi카니발 티켓 (IOI20_tickets)C++17
27 / 100
302 ms51352 KiB
#include "tickets.h" #include <bits/stdc++.h> #define fi first #define se second using namespace std; using ii = pair<int, int>; long long find_maximum(int k, vector<vector<int>> x) { int n = x.size(), m = x[0].size(); vector<vector<int> > ans(n, vector<int>(m, -1)); vector<ii> mint(n, ii{INT_MAX, 0}), maxt(n, ii{-1, 0}); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) { mint[i] = min(mint[i], ii{x[i][j], j}); maxt[i] = max(maxt[i], ii{x[i][j], j}); } int64_t sum = 0; for (int i = 0; i < n; i++) { sum += maxt[i].fi; ans[i][maxt[i].se] = 0; } vector<ii> nho(n); for (int i = 0; i < n; i++) nho[i] = ii{-mint[i].fi - maxt[i].fi, i}; sort(nho.begin(), nho.end()); reverse(nho.begin(), nho.end()); for (int i = 0; i < n/2; i++) { sum += nho[i].fi; int idx = nho[i].se; swap(ans[idx][maxt[idx].se], ans[idx][mint[idx].se]); } 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...