제출 #387853

#제출 시각아이디문제언어결과실행 시간메모리
387853Nima_Naderi사육제 (CEOI14_carnival)C++14
100 / 100
17 ms408 KiB
//In the name of GOD //#pragma GCC optimize("O2") #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MXN = 150 + 10; ll n, c; ll ANS[MXN], Col[MXN]; ll Ask(ll l, ll r, ll x){ cout << r - l + 2 << ' ' << x << ' '; for(int i = l; i <= r; i ++) cout << Col[i] << ' '; cout << '\n'; fflush(stdout); cin >> x; fflush(stdout); return x; } int main(){ //ios::sync_with_stdio(0);cin.tie(0); cout.tie(0); cin >> n; fflush(stdout); ANS[1] = ++ c, Col[1] = 1; for(int i = 2; i <= n; i ++){ ll nw = Ask(1, c, i); if(nw > c){ ANS[i] = ++ c, Col[c] = i; } else{ ll l = 1, r = c; while(l != r){ ll mid = (l + r) / 2; if(Ask(l, mid, i) == mid - l + 1){ r = mid; } else{ l = mid + 1; } } ANS[i] = ANS[Col[l]]; } } fflush(stdout); cout << 0 << ' '; for(int i = 1; i <= n; i ++) cout << ANS[i] << ' '; cout << '\n'; fflush(stdout); return 0; } //! N.N
#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...