Submission #1151964

#TimeUsernameProblemLanguageResultExecution timeMemory
1151964byunjaewooKoala Game (APIO17_koala)C++20
100 / 100
34 ms460 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; int minValue(int N, int W) { int v[100]={0}, t[100]={0}; v[0]=1; if(W==2*N) for(int i=0; i<100; i++) v[i]++; playRound(v, t); if(t[0]<=(W/N)) return 0; for(int i=1; i<100; i++) if(t[i]<(W/N)) return i; } int maxValue(int N, int W) { int v[100]={0}, t[100]={0}; vector<int> c; for(int i=0; i<100; i++) c.push_back(i); for(int i=0; i<4; i++) { if(c.size()==1) break; vector<int> c2; fill(v, v+100, 0); for(int j:c) v[j]=100/c.size(); playRound(v, t); for(int j:c) if(t[j]>(100/c.size())) c2.push_back(j); c=c2; } return c[0]; } int greaterValue(int N, int W) { int v[100]={0}, t[100]={0}; v[0]=v[1]=4; playRound(v, t); if((t[0]>4)!=(t[1]>4)) return ((t[0]>4)<(t[1]>4)); if(t[0]>4) { v[0]=v[1]=8; playRound(v, t); if((t[0]>8)!=(t[1]>8)) return ((t[0]>8)<(t[1]>8)); else if(t[0]>8) { v[0]=v[1]=10; playRound(v, t); return ((t[0]>10)<(t[1]>10)); } } else { v[0]=v[1]=3; playRound(v, t); if((t[0]>3)!=(t[1]>3)) return ((t[0]>3)<(t[1]>3)); else { v[0]=v[1]=1; playRound(v, t); return ((t[0]>1)<(t[1]>1)); } } } void F(int l, int r, int W, vector<int> x, int *P) { if(l==r) { P[x[0]]=l; return; } int v[100]={0}, t[100]={0}; for(int i=1; i<=W/(r-l+1); i++) { int p=0, c=W-100+r-l+1, k=0; for(int j=1; j<=r-l+1; j++) { int sum=0; bool flag=true; for(int q=0; q<i+1; q++) { if(p+1<l && sum+(p+1)<=r-j+1) sum+=(++p); else if(c) c--; else flag=false; } if(flag) k=j; } if(!k || k==r-l+1) continue; for(int j:x) v[j]=i; playRound(v, t); vector<int> xl, xr; for(int j:x) { if(t[j]>i) xr.push_back(j); else xl.push_back(j); } F(l, l+xl.size()-1, W, xl, P), F(l+xl.size(), r, W, xr, P); return; } } void allValues(int N, int W, int *P) { vector<int> x; int p=minValue(N, W); P[p]=1; for(int i=0; i<100; i++) if(i!=p) x.push_back(i); F(2, 100, W, x, P); }

Compilation message (stderr)

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