Submission #36413

#TimeUsernameProblemLanguageResultExecution timeMemory
36413bnahmad15Carnival (CEOI14_carnival)C++14
100 / 100
33 ms2016 KiB
#include <bits/stdc++.h> #define forn(i,n) for(int i =0;i<int(n);i++) #define nfor(i,n) for(int i =int(n)-1;i>=0;i--) #define rep(i,j,n) for(int i = int(j);i <= int(n);i++) #define rev(i,j,n) for(int i = int(j);i>=int(n);i--) #define ff first #define ss second #define mp make_pair #define pb push_back #define oo 2000000000 #define ooo 2000000000000000000 #define all(x) x.begin(),x.end() using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<pii> vii; const int N = 100010,MOD = 1000000007; const double PI = acos(-1.0); int gcd(int a,int b){return (b==0) ? a : gcd(b,a%b);} string tostr(ll num){string res = "";while (num)res += char('0' + (num % 10)),num/=10;reverse(all(res));return res;} string tobin(int num){string res="";while(num)res += char('0' + (num % 2)),num/=2;reverse(all(res));return res;} ll tonum(string te){ll res = 0;forn(i,te.size())res *= 10LL,res += te[i]-'0';return res;} int bit(vector <ll> &v,ll a,ll b){return upper_bound(all(v),b)-upper_bound(all(v),a-1);} void fl(){fflush(stdout);} int n,ans[155],cnt= 1; int ask(int left,int right){ if (left >= right){ return 1; } printf("%d",right-left+1); rep(i,left,right) printf(" %d",i); cout<<endl; int res; scanf("%d",&res); return res; } int main(){ memset(ans,-1,sizeof ans); scanf("%d",&n); for (int i = 1;i<=n;i++){ if (ans[i] == -1) ans[i] = cnt++; if (ask(i,n) != ask(i+1,n)){ continue; } int low = i+1,high = n,res = i; while (low <= high){ int md = (low + high) / 2; if (ask(i,md) == ask(i + 1,md)){ res = md; high = md - 1; } else low = md + 1; } ans[res] = ans[i]; } printf("0"); rep(i,1,n) printf(" %d",ans[i]); return 0; }

Compilation message (stderr)

carnival.cpp: In function 'int ask(int, int)':
carnival.cpp:38:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&res);
                     ^
carnival.cpp: In function 'int main()':
carnival.cpp:44:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&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...