Submission #959531

#TimeUsernameProblemLanguageResultExecution timeMemory
959531Trisanu_DasKoala Game (APIO17_koala)C++17
60 / 100
47 ms704 KiB
#include <assert.h> #include <iostream> #include <algorithm> #include "koala.h" using namespace std; int minValue(int N, int W) { int B[N],R[N]; fill(B,B+N,0); B[0]=1; playRound(B,R); int res=0; for(int i=0;i<N;i++) if(R[i]==0) res=i; return res; } int maxValue(int N, int W) { int B[N],R[N]; int V[N]; fill(V,V+N,1); fill(B,B+N,0); fill(R,R+N,0); int res=N; while(true){ int k=(int)(N/res); for(int i=0;i<N;i++) B[i]=V[i]*k; //for(int i=0;i<N;i++)cout<<B[i]<<" ";cout<<endl; playRound(B,R); res=0; for(int i=0;i<N;i++){ if(V[i] and !R[i]) V[i]=false; if(V[i] and R[i]) res++; } if(res==1) for(int i=0;i<N;i++) if(V[i] and R[i]) return i; assert(res); } } int greaterValue(int N, int W) { int B[N],R[N]; fill(B,B+N,0); fill(R,R+N,0); int l=0,r=10,m; while(l<r){ m=(l+r)/2; B[0]=B[1]=m; playRound(B,R); if(R[0]!=R[1]) return R[0]<R[1]; if(R[0]==0) r=m; else l=m+1; } } int N; bool comp(int a, int b){ int B[N],R[N]; fill(B,B+N,0); fill(R,R+N,0); int l=0,r=min(N,10),m; while(l<r){ m=(l+r)/2; B[a]=B[b]=m; playRound(B,R); if(R[a]!=R[b]) return R[a]<R[b]; if(R[a]==0) r=m; else l=m+1; } } void allValues(int N_, int W, int *P) { N=N_; int A[N]; for(int i=0;i<N;i++) A[i]=i; sort(A,A+N,comp); for(int i=0;i<N;i++) P[A[i]]=i+1; }

Compilation message (stderr)

koala.cpp: In function 'int greaterValue(int, int)':
koala.cpp:88:1: warning: control reaches end of non-void function [-Wreturn-type]
   88 | }
      | ^
koala.cpp: In function 'bool comp(int, int)':
koala.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type]
  116 | }
      | ^
#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...