Submission #1289314

#TimeUsernameProblemLanguageResultExecution timeMemory
1289314tschav_선물 (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; using ll = long long; void buy_souvenirs(int N, ll P0) { vector<ll> P(N, 0ll); vector<int> freq(N,0ll); P[0] = P0; int L = N; auto rec = [&](ll coins, auto &&self) -> void { auto [R, ch] = transaction(coins); for(auto &i : R) { ++freq[i]; } ll sum = coins - ch; // for(int j = R.size()-1; j >= 0; --j) { // int idx = R[j]; // sum -= P[idx]; // } for(int j = R.size()-1; j >= 0; --j) { int idx = R[j]; if(idx < L) break; sum -= P[idx]; R.pop_back(); } while(R.size() - 1) { self((sum - ch) / R.size(), self); // cerr << sum << "->"; for(int j = R.size()-1; j >= 0; --j) { int idx = R[j]; // cerr << idx; if(idx < L) break; sum -= P[idx]; R.pop_back(); } } P[R.front()]= sum; if(L > R.front() + 1ll){ rec(sum-1, self); } L = R.front(); return; }; for(int i = 1; i < N; ++i){ while(freq[i] < i) { ++freq[i]; transaction(P[i]);} } return; }

Compilation message (stderr)

souvenirs.cpp: In lambda function:
souvenirs.cpp:62:7: error: use of 'rec' before deduction of 'auto'
   62 |       rec(sum-1, self);
      |       ^~~