Submission #53067

#TimeUsernameProblemLanguageResultExecution timeMemory
53067arthur_nascimentoKoala Game (APIO17_koala)C++14
47 / 100
133 ms816 KiB
#include "koala.h" int minValue(int N, int W) { int v[N]; v[0] = 1; for(int i=1;i<N;i++) v[i] = 0; int ans[N]; playRound(v,ans); for(int i=0;i<N;i++) if(ans[i] == 0) return i; return 0; } int maxValue(int N, int W) { int v[N]; int ans[N]; int tot[N]; for(int i=0;i<N;i++) v[i] = 1, tot[i] = 0; playRound(v,ans); for(int i=0;i<N;i++){ tot[i] += (ans[i] > v[i]); v[i] = (ans[i]?2:0); } playRound(v,ans); int u = 0; for(int i=0;i<N;i++){ tot[i] += (ans[i] > v[i]); if(tot[i] == 2) v[i] = 4, u++; else v[i] = 0; } playRound(v,ans); for(int i=0;i<N;i++){ tot[i] += (ans[i] > v[i]); if(tot[i] == 3) v[i] = 11; else v[i] = 0; } playRound(v,ans); for(int i=0;i<N;i++) if(tot[i]+(ans[i]>v[i]) == 4) return i; return 0; } int greaterValue(int N, int W) { int lo[8] = {-0,-1,-2,2,-4,3,-6,6}; int hi[8] = {-0,-1,-2,4,-4,7,-6,8}; int cur = 5; int v[N]; int ans[N]; for(int i=0;i<3;i++){ // printf("cur %d\n",cur); if(cur == 8){ for(int j=0;j<N;j++) v[j] = (j <= 1) ? 10 : 0; playRound(v,ans); return (ans[1] > 10); } for(int j=0;j<N;j++) v[j] = (j <= 1) ? (cur-1) : 0; playRound(v,ans); ans[0] = (ans[0] > v[0]); ans[1] = (ans[1] > v[1]); if(ans[0] != ans[1]) return ans[1] > ans[0]; if(ans[0] == 0) cur = lo[cur]; else cur = hi[cur]; } return 0; } #include <bits/stdc++.h> void allValues(int N, int W, int *P) { if (W == 2*N) { int u = 0; int v[N]; int ans[N]; int pos[N]; for(int i=0;i<N;i++){ int val = i+1; int lo = 0, hi = i; while(lo != hi){ int mid = (lo+hi)/2; for(int j=0;j<N;j++) v[j] = 0; v[i] = W/2; v[pos[mid]] = W/2; // printf("put %d %d\n",pos[mid],i); playRound(v,ans);u++; assert(u <= 700); if(ans[i] > W/2) lo = mid+1; else hi = mid; }//printf("lo %d\n",lo); if(lo == i){ P[i] = i; pos[i] = i; } else { for(int j=i-1;j>=lo;j--){ // pos[P[j]] = j+1; pos[j+1] = pos[j]; P[j+1] = P[j]; } P[lo] = i; pos[lo] = i; } // for(int j=0;j<=i;j++) // printf("%d ",P[j]); // printf("\n"); } for(int i=0;i<N;i++) P[pos[i]] = i+1; } else { // TODO: Implement Subtask 5 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } }

Compilation message (stderr)

koala.cpp: In function 'void allValues(int, int, int*)':
koala.cpp:86:17: warning: unused variable 'val' [-Wunused-variable]
             int val = i+1;
                 ^~~
#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...