Submission #1249461

#TimeUsernameProblemLanguageResultExecution timeMemory
1249461bronze_coderSouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; pair<vector<int>, long long> transaction(long long M){ cout << M << endl; vector<int> ans; for(int i=0;i<q.size();i++){ if(q[i]<=M){ M -= q[i]; ans.push_back(i); } } for(int i:ans){ cout << i << " "; } cout << "\n\n"; return {ans,M}; } void buy_souvenirs(int N, long long P0){ vector<vector<long long>> answers(N); vector<int> count(N,0); for(int i=0;i<N;i++){ vector<long long> x(N+2,0); answers[i] = x; } answers[0][0] = 1; answers[0][N] = P0; answers[0][N+1] = 1; vector<long long> cost(N,-1); for(int i=N-1;i>=0;i--){ for(int j=i;j>=0;j--){ if(answers[j][N+1]>0){ int index = j; while(index<i){ long long c = (answers[index][N]-1)/answers[index][N+1]; pair<vector<int>, long long> x = transaction(c); vector<int> a = x.first; vector<long long> b(N+2,0); b[N+1] = a.size(); b[N] = c-x.second; for(int k=i+1;k<N;k++){ if(b[k]){ b[k] = 0; b[N] -= cost[k]; b[N+1]--; } } for(int z:a){ b[z] = 1; count[z]++; } index = a[0]; answers[index] = b; } break; } } cost[i] = answers[i][N]; for(int j=0;j<i;j++){ if(answers[j][i]){ answers[j][N+1]--; answers[j][N] -= cost[i]; answers[j][i] = 0; } } } for(int i=0;i<N;i++){ for(int j=0;j<i-count[i];j++){ transaction(cost[i]); } } }

Compilation message (stderr)

souvenirs.cpp: In function 'std::pair<std::vector<int>, long long int> transaction(long long int)':
souvenirs.cpp:8:19: error: 'q' was not declared in this scope
    8 |     for(int i=0;i<q.size();i++){
      |                   ^