Submission #1245330

#TimeUsernameProblemLanguageResultExecution timeMemory
1245330qwushaCarnival Tickets (IOI20_tickets)C++20
11 / 100
2 ms840 KiB
#include "tickets.h" #include <iostream> #include <bits/stdc++.h> #define fi first #define se second typedef long long ll; using namespace std; int inf = 1e9 + 7; ll find_maximum(int k, vector<vector<int>> x) { int n = x.size(); vector<pair<int,int>> mini(n), maxi(n); int m; for (int i = 0; i < n; i++) { m = x[i].size(); int mi = inf, ma = -1; for (int j = 0; j < m; j++) { mi = min(mi, x[i][j]); ma = max(ma, x[i][j]); } mini[i] = {mi, i}; maxi[i] = {ma, i}; } vector<pair<int, int>> comi = mini, coma = maxi; sort(mini.begin(), mini.end()); sort(maxi.rbegin(), maxi.rend()); vector<bool> ismi(n), isma(n); for (int i = 0; i < n / 2; i++) { ismi[mini[i].se] = 1; isma[maxi[i].se] = 1; } vector<ll> a, b; for (int i = 0; i < n; i++) { if (ismi[i]) { a.push_back(comi[i].fi); } else { a.push_back(coma[i].fi); } if (isma[i]) { b.push_back(coma[i].fi); } else { b.push_back(comi[i].fi); } } sort(b.begin(), b.end()); sort(a.begin(), a.end()); ll mida = a[n / 2], midb = b[n / 2]; ll resa = 0, resb = 0; for (auto el : a) { resa += abs(el - mida); } for (auto el : b) { resb += abs(el - midb); } vector<vector<int>> s(n, vector<int>(m, -1)); if (resa > resb) { for (int i = 0; i < n; i++) { int mi = inf, ma = -1; int indmi = -1, indma = -1; for (int j = 0; j < m; j++) { mi = min(mi, x[i][j]); ma = max(ma, x[i][j]); if (mi == x[i][j]) indmi = j; if (ma == x[i][j]) indma = j; } if (ismi[i]) { s[i][indmi] = 0; } else { s[i][indma] = 0; } } } else { for (int i = 0; i < n; i++) { int mi = inf, ma = -1; int indmi = -1, indma = -1; for (int j = 0; j < m; j++) { mi = min(mi, x[i][j]); ma = max(ma, x[i][j]); if (mi == x[i][j]) indmi = j; if (ma == x[i][j]) indma = j; } if (isma[i]) { s[i][indma] = 0; } else { s[i][indmi] = 0; } } } allocate_tickets(s); return max(resa, resb); }
#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...