Submission #927961

#TimeUsernameProblemLanguageResultExecution timeMemory
927961MuntherCarrotCarnival (CEOI14_carnival)C++14
100 / 100
17 ms1112 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long // #define endl '\n' #define all(x) x.begin(), x.end() #define INF 0x3f3f3f3f #define INFLL (ll)0x3f3f3f3f3f3f3f3f const int MOD = 1e9 + 7, SZ = 1e5 + 10; int ask(vector<int> vec){ cout.flush() << vec.size() << ' '; for(int i : vec) cout.flush() << i << ' '; cout.flush() << endl; int res; cin >> res; return res; } int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; int a[n + 1] = {}; for(int i = 1; i <= n; i++){ vector<int> vec(i); iota(all(vec), 1); a[i] = ask(vec); } int ans[n + 1], x = 0, num[n + 1]; for(int i = 1; i <= n; i++){ if(a[i] == a[i - 1] + 1){ ans[i] = ++x; num[x] = i; } else{ for(int j = 1; j <= x; j++){ if(ask({num[j], i}) == 1){ ans[i] = ans[num[j]]; break; } } } } cout.flush() << 0 << ' '; for(int i = 1; i <= n; i++){ cout.flush() << ans[i] << ' '; } cout.flush() << endl; return 0; } // by me
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...