Submission #1257252

#TimeUsernameProblemLanguageResultExecution timeMemory
1257252stapanulocu1선물 (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int N = 100; /* 4 3 1 pair<vector<int>, long long> transaction(long long M) { vector<int> a; if (M == 4) { return pair<vector<int>, long long>(vector<int>(1, 2), 0); } if (M == 3) { return pair<vector<int>, long long>(vector<int>(1), 0); } if (M == 2) { return pair<vector<int>, long long>(vector<int>(2), 1); } if (M == 1) { return pair<vector<int>, long long>(vector<int>(2), 0); } return pair<vector<int>, long long>(a, 0); } */ int n; struct el { vector<int> s; long long b, r; }; vector<el> q; long long value[N]; int number[N]; void update_data(el &r); void check_to_remove(el r) { if (r.s.size() == 1) { value[r.s[0]] = r.b - r.r; for (int i = 0; i < (int)q.size(); ++i) update_data(q[i]); } } void update_data(el &r) { for (int i = 0; i < (int)r.s.size(); ++i) { if (value[r.s[i]]) { r.b -= value[r.s[i]]; r.s.erase(r.s.begin() + i); --i; } } check_to_remove(r); } void do_q(long long a) { pair<vector<int>, long long> result = transaction(a); el b; b.s = result.first; b.b = a; b.r = result.second; for (int i = 0; i < (int)b.s.size(); ++i) { number[b.s[i]]++; } update_data(b); q.push_back(b); } void figure_smallest(el va) { if (va.s.size() == 1) { check_to_remove(va); return; } long long avg = (va.b - va.r) / (long long)va.s.size(); do_q(avg); figure_smallest(q.back()); } void finish_all() { for (int i = 0; i < n; ++i) { while (number[i] < i) { do_q(value[i]); } } } void buy_souvenirs(int nu, long long P0) { n = nu; value[0] = P0; do_q(P0 - 1); figure_smallest(q.front()); for (int i = 0; i < (int)q.size(); ++i) { check_to_remove(q[i]); if (q[i].s.size() != 0) { figure_smallest(q[i]); } } finish_all(); } /* int main() { buy_souvenirs(3, 5); return 0; }*/

Compilation message (stderr)

souvenirs.cpp: In function 'void do_q(long long int)':
souvenirs.cpp:75:43: error: 'transaction' was not declared in this scope
   75 |     pair<vector<int>, long long> result = transaction(a);
      |                                           ^~~~~~~~~~~