Submission #1168901

#TimeUsernameProblemLanguageResultExecution timeMemory
116890112345678Koala Game (APIO17_koala)C++20
30 / 100
89 ms460 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; const int nx=1e2+5; int minValue(int N, int W) { int qrs[nx], ans[nx]; for (int i=0; i<N; i++) qrs[i]=(i==0); playRound(qrs, ans); for (int i=1; i<N; i++) if (ans[i]==0) return i; return 0; } int maxValue(int N, int W) { int qrs[nx], ans[nx], per, t=4; vector<int> idx, nidx; for (int i=0; i<N;i ++) idx.push_back(i); while (t--) { per=W/idx.size(); for (int i=0; i<N; i++) qrs[i]=0; for (auto x:idx) qrs[x]=per; playRound(qrs, ans); for (int i=0; i<N; i++) if (qrs[i]>0&&ans[i]>qrs[i]) nidx.push_back(i); idx=nidx; nidx.clear(); } return idx[0]; } int solve(int x, int *qrs, int *ans) { qrs[0]=qrs[1]=x; playRound(qrs, ans); if (ans[0]<=qrs[0]||ans[1]<=qrs[1]) return 1; return 0; } int greaterValue(int N, int W) { int qrs[nx], ans[nx]; for (int i=0; i<N; i++) qrs[i]=0; int l=1, r=10; while (l<r) { int md=(l+r)/2; if (solve(md, qrs, ans)) r=md; else l=md+1; } solve(l, qrs, ans); if (ans[0]>qrs[0]) return 0; else return 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...