Submission #1257464

#TimeUsernameProblemLanguageResultExecution timeMemory
1257464math_rabbit_1028Souvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; vector<long long> P; vector<int> cnt; vector<long long> total; vector< pair<vector<int>, long long> > transactions; void update(vector<int> &ls) { for (int x : ls) cnt[x]++; } void buy_souvenirs(int N, long long P0) { // pair<vector<int>, long long> res = transaction(3); P.resize(N); P[0] = P0; cnt.resize(N); transactions.push_back(transaction(P0-1)); total.pop_back(P0-1); for (int i = 1; i < N; i++) { P0 /= 2; assert(P0 > 0); transactions.push_back(transaction(P0)); total.push_back(P0); } reverse(transactions.begin(), transactions.end()); for (auto &tr : transactions) { update(tr.first); for (int i = 1; i < tr.first.size(); i++) total[total.size()-1] -= P[tr.first[i]]; total[total.size()-1] -= tr.second; P[tr.first[0]] = total.back(); total.pop_back(); } for (int i = 1; i < N; i++) { for (int j = cnt[i]+1; j <= i; j++) transaction(P[i]); } return; }

Compilation message (stderr)

souvenirs.cpp: In function 'void buy_souvenirs(int, long long int)':
souvenirs.cpp:22:19: error: no matching function for call to 'std::vector<long long int>::pop_back(long long int)'
   22 |     total.pop_back(P0-1);
      |     ~~~~~~~~~~~~~~^~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from souvenirs.h:2,
                 from souvenirs.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1225:7: note: candidate: 'void std::vector<_Tp, _Alloc>::pop_back() [with _Tp = long long int; _Alloc = std::allocator<long long int>]'
 1225 |       pop_back() _GLIBCXX_NOEXCEPT
      |       ^~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1225:7: note:   candidate expects 0 arguments, 1 provided