Submission #55366

#TimeUsernameProblemLanguageResultExecution timeMemory
55366yp155136Koala Game (APIO17_koala)C++14
61 / 100
86 ms824 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; const int N = 105; int b[N],r[N]; 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. b[0] = 1; playRound(b,r); if (r[0] == 0) return 0; else { for(int i=0;N>i;i++) { if (r[i] == 0) return i; } } return 0; } int maxValue(int N, int W) { /*int yee = 11; for (int i=91;100>i;i++) b[i]=yee; playRound(b,r); for (int i=0;100>i;i++) cout << r[i] << ' ' ; cout << endl; for (int i=0;100>i;i++) { if (r[i] == yee+1) cout << "i = " << i << endl; }*/ vector<int> v; for (int i=0;100>i;i++) v.push_back(i); int take[4] = {1,2,4,11}; for (int i=0;4>i;i++) { memset(b,0,sizeof(b)); for (int j:v) b[j] = take[i]; playRound(b,r); vector<int> vv; for (int j:v) { if (r[j] == take[i]+1) vv.push_back(j); } v = vv; } return v[0]; // TODO: Implement Subtask 2 solution here. // You may leave this function unmodified if you are not attempting this // subtask. return 0; } int greaterValue(int N, int W) { int L=1,R=13; while (L <= R) { int mid=(L+R)>>1; memset(b,0,sizeof(b)); b[0] = mid; b[1] = mid; playRound(b,r); if (r[0] != r[1]) { if (r[0] > r[1]) return 0; else return 1; } else if (r[0] > 0) L = mid+1; else R = mid-1; } // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. return 0; } bool cmp(const int &x,const int &y) { int L=1,R=13; while (L <= R) { int mid=(L+R)>>1; b[x] = mid; b[y] = mid; playRound(b,r); if (r[x] != r[y]) { b[x] = b[y] = 0; if (r[x] > r[y]) return false; else return true; } else if (r[x] > 0) L = mid+1; else R = mid-1; } } int pp[N]; 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 n=100; for (int i=0;n>i;i++) { p[i] = i; } sort(p,p+n,cmp); for (int i=0;n>i;i++) { pp[ p[i] ] = i; } for (int i=0;n>i;i++) { p[i] = pp[i]+1; } // 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 'bool cmp(const int&, const int&)':
koala.cpp:99:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...