Submission #1188706

#TimeUsernameProblemLanguageResultExecution timeMemory
1188706flukeCarnival (CEOI14_carnival)C++20
100 / 100
3 ms420 KiB
#include <bits/stdc++.h> #define ll long long #define f first #define s second #define pii pair<int,int> #define emb emplace_back #define em emplace #define all(x) x.begin(),x.end() #define DB cout<<"\n";system("pause"); #define sp <<" "<< using namespace std; int n; int ask(int n ,vector <int> ans){ cout<<n<<" "; for(auto x : ans)cout<<x<<" "; cout<<endl; int x; cin>>x; return x; } int main(){ cin>>n; vector <int> group; vector <int> par(n+1); par[1]=1; group.emb(1); for(int i=2;i<=n;i++){ vector <int> ask_ = group; ask_.emb(i); if(ask(ask_.size() , ask_) != group.size()){ group.emb(i); par[i] = group.size(); } else { int left = 0 , right = group.size() - 1; int ans; while(left <= right){ int mid = (left + right)/2; vector <int> temp(group.begin(),group.begin() + mid + 1); temp.emb(i); if(ask(temp.size() , temp) > temp.size() - 1){ left = mid + 1; } else { ans = mid ; right = mid - 1; } } par[i] = ans+1; } } vector <int> output; for(int i=1;i<=n;i++){ output.emb(par[i]); } ask(0,output); }
#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...