Submission #1062925

#TimeUsernameProblemLanguageResultExecution timeMemory
1062925jamjanekCarnival Tickets (IOI20_tickets)C++14
Compilation error
0 ms0 KiB
#include "tickets.h" #include <bits/stdc++.h> using namespace std; void usun(vector<int>&ile, set<pair<int, int>>&ilejedynek, int x){ pair<int,int> it = {ile[x], x}; ilejedynek.erase(it); ile[it.second]--; ilejedynek.insert({it.first-1, it.second}); } long long find_maximum(int k, std::vector<std::vector<int>> x) { int n = x.size(); int m = x[0].size(); int i, j; vector<vector<int>>answer = x; for(i=0;i<n;i++) for(j=0;j<m;j++) answer[i][j] = -1; long long wynik = 0; for(int war=0;war<k;war++){ vector<pair<long long, int>>srednie; vector<int>pozmini(n), pozmaxi(n); for(i=0;i<n;i++){ int mini = 1000000010, maxi = -1000000010; for(j=0;j<m;j++) if(x[i][j]!=-1) mini = min(mini, x[i][j]), maxi = max(maxi, x[i][j]); srednie.push_back({0, i}); for(j=0;j<m;j++){ if(mini==x[i][j]) pozmini[i] = j; if(maxi==x[i][j]) pozmaxi[i] = j; if(x[i][j]!=-1) srednie.back().first+=x[i]; } } sort(srednie.begin(), srednie.end()); for(i=0;i<n;i++){ int j = srednie[i].second; if(i<n/2){ answer[j][pozmini[j]] = war; wynik-=x[j][pozmini[j]]; x[j][pozmini[j]] = -1; } else{ answer[j][pozmaxi[j]] = war; wynik+=x[j][pozmaxi[j]]; x[j][pozmaxi[j]] = -1; } } } allocate_tickets(answer); return wynik; }

Compilation message (stderr)

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:38:26: error: no match for 'operator+=' (operand types are 'long long int' and '__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> >, std::vector<int> >::value_type' {aka 'std::vector<int>'})
   38 |      srednie.back().first+=x[i];