Submission #1169952

#TimeUsernameProblemLanguageResultExecution timeMemory
11699528pete8Koala Game (APIO17_koala)C++20
33 / 100
43 ms460 KiB
#include "koala.h" #include<iostream> using namespace std; int minValue(int N, int W) { // TODO: Implement Subtask 1 solution here. // You may leave this function unmodified if you are not attempting this // subtask. int B[N],R[N]; for(int i=0;i<N;i++)B[i]=R[i]=0; B[0]=1; playRound(B,R); for(int i=0;i<N;i++)if(R[i]==0)return i; return 0; } int maxValue(int N, int W) { // TODO: Implement Subtask 2 solution here. // You may leave this function unmodified if you are not attempting this // subtask. int B[N],R[N]; for(int i=0;i<N;i++)B[i]=1,R[i]=0; int c=2; for(int j=0;j<10;j++){ playRound(B,R); int x=0,y=0; for(int j=0;j<N;j++){ if(R[j]>1)x++,y=j; } if(x==1)return y; c=(W/x); for(int j=0;j<N;j++){ if(R[j]>1)B[j]=c,x++,y=j; else B[j]=0; } if(x==1)return y; } //5 3 2 1 6 4 return 0; } int greaterValue(int N, int W) { // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. int B[N],R[N]; int l=1,r=min(8,N/2); while(l<r){ int mid=(l+r)/2; for(int i=0;i<N;i++)R[i]=B[i]=0; B[0]=B[1]=mid; playRound(B,R); if(R[0]>mid&&R[1]>mid)l=mid+1; else if(R[0]<=mid&&R[1]<=mid)r=mid-1; else return R[0]<R[1]; } for(int i=0;i<N;i++)R[i]=B[i]=0; B[0]=B[1]=l; playRound(B,R); return R[0]<R[1]; } void allValues(int N, int W, int *P) { if (W == 2*N) { // TODO: Implement Subtask 4 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } else { // TODO: Implement Subtask 5 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } }
#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...