Submission #624265

#TimeUsernameProblemLanguageResultExecution timeMemory
624265Mr_HusanboyCarnival Tickets (IOI20_tickets)C++14
0 / 100
1 ms212 KiB
#include "tickets.h" #include <vector> #include <bits/stdc++.h> using namespace std; #define vi vector<int> #define all(a) (a).begin(), (a).end() #define ll long long #define pii pair<int,int> #define ff first #define ss second long long find_maximum(int k, vector<vector<int>> x) { int n = x.size(), m = x[0].size(); vector<vector<pair<int,pii>>> tem(n,vector<pair<int, pii>> (m)); for(int i = 0; i < n; i ++){ for(int j = 0; j < m; j ++){ tem[i][j] = {x[i][j], {i, j}}; } } // cout << "a" << endl; sort(all(tem), [&](vector<pair<int,pii>> a, vector<pair<int,pii>> b){ int aa = 0, bb = 0; for(auto u : a) aa+=u.ff; for(auto u : b) bb += u.ff; return aa < bb; }); //cout << "b" << endl; ll res = 0; vector<vector<int>> a(n, vi(m,-1)); for(int i = 0; i < k; i ++){ int cnt = 0; for(int j = 0; j < n; j ++){ //cout << tem[j][i].ss.ff << "\n" << endl; if(j%2 == 0){ cnt += tem[j][i].ff; a[tem[j][i].ss.ff][tem[j][i].ss.ss] = i; }else{ cnt += tem[j][m - i - 1].ff; a[tem[j][m - i - 1].ss.ff][tem[j][m - i - 1].ss.ss] = i; } } res += min(cnt, n - cnt); } // cout << "c" << endl; allocate_tickets(a); 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...