Submission #995901

#TimeUsernameProblemLanguageResultExecution timeMemory
995901ThanhsCarnival (CEOI14_carnival)C++14
100 / 100
16 ms392 KiB
#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back // #define endl '\n' #define fastIO ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); #define setmin(x,y) x=min((x),(y)) #define setmax(x,y) x=max((x),(y)) #define fi first #define se second mt19937 hdp(chrono::high_resolution_clock::now().time_since_epoch().count()); int rand(int l,int r){return l+((hdp()%(r-l+1))+r-l+1)%(r-l+1);} const int N = 2e5+5; const int mod = 998244353; const int SQ = 450; const int inf = 1e9+1; int n,ans[N],cnt,a[N]; // int ask(int l,int r) // { // set<int> s; // for(int i=l;i<=r;i++) s.insert(a[i]); // return s.size(); // } int ask(int l,int r) { if(min(l,r)<=0||max(l,r)>n||l>r) return 0; cout<<r-l+1<<' '; for(int i=l;i<=r;i++) cout<<i<<' '; cout<<endl; int res; cin>>res; return res; } signed main() { fastIO // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); cin>>n; for(int i=1;i<=n;i++) { if(ask(1,i)!=ask(1,i-1)) { ans[i]=++cnt; continue; } int r=i,l=1; while(l<r-1) { int m=l+r>>1; if(ask(m,i)==ask(m,i-1)) l=m; else r=m; } ans[i]=ans[l]; } cout<<"0 "; for(int i=1;i<=n;i++) cout<<ans[i]<<' '; }

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:58:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   58 |             int m=l+r>>1;
      |                   ~^~
#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...