Submission #103888

#TimeUsernameProblemLanguageResultExecution timeMemory
103888autumn_eelKoala Game (APIO17_koala)C++14
19 / 100
22 ms384 KiB
#include <bits/stdc++.h> #define rep(i,n)for(int i=0;i<(n);i++) using namespace std; #include "koala.h" int B[200],R[200]; int minValue(int N, int W) { memset(B,0,sizeof(B)); B[0]=1; playRound(B,R); rep(i,N){ if(B[i]>=R[i])return i; } return -1; } int maxValue(int N, int W) { rep(i,N){ B[i]=1; } playRound(B,R); vector<int>v; rep(i,N){ if(R[i]>1){ v.push_back(i); } } while(v.size()>1){ memset(B,0,sizeof(B)); int ave=W/v.size(); for(int i:v)B[i]=ave; playRound(B,R); vector<int>u; for(int i:v){ if(R[i]>B[i])u.push_back(i); } v=u; } return v[0]; } int greaterValue(int N, int W) { int l=1,r=min(W/2,7); while(1){ int t=(l+r)/2; memset(B,0,sizeof(B)); B[0]=B[1]=t; playRound(B,R); bool f0=(B[0]<R[0]),f1=(B[1]<R[1]); if(f0^f1){ if(f0)return 0; return 1; } if(!f0)r=t-1; else l=t+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 { //~ int id=minValue() } }
#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...