Submission #828791

#TimeUsernameProblemLanguageResultExecution timeMemory
828791roseanne_pcyKoala Game (APIO17_koala)C++14
19 / 100
42 ms328 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; typedef pair<int, int> ii; typedef vector<int> vi; typedef long long ll; #define f first #define s second #define pb push_back #define lb lower_bound #define ub upper_bound #define sz(x) (int)x.size() #define all(x) begin(x), end(x) const int MAXN = 105; int play[MAXN]; int res[MAXN]; void reset(int n) { for (int i = 0; i< n; i++) { play[i] = res[i] = 0; } } int minValue(int N, int W) { int n = N; play[0] = 1; playRound(play, res); for (int i = 0; i < n; i++) { if (res[i] == 0) { return i; } } reset(N); play[1] = 1; playRound(play, res); for (int i = 0; i < n; i++) { if (res[i] == 0) { return i; } } return -1; } int maxValue(int N, int W) { int n = N; for (int i = 0; i < n; i++) { play[i] = 1; } playRound(play, res); set <int> pots; for (int i = 0; i< n; i++) { if (res[i] > 0) { pots.insert(i); } } int times = 3; while(times--) { reset(N); for (int x : pots) { play[x] = W/(pots.size()); } playRound(play, res); set <int> newpots; for (int i = 0; i< n; i++) { if (res[i] > 0 && (pots.find(i) != pots.end())) { newpots.insert(i); } } pots = newpots; } return *(pots.begin()); } int greaterValue(int N, int W) { int n = N; int lo = 1, hi = W/2; while (lo < hi) { int mid = (lo+hi)/2; reset(n); play[0] = play[1] = mid; for (int i = 2; i< n; i++) { play[i] = (W-2*mid)/(n-2); } playRound(play, res); if (res[0] != res[1]) { if (res[0] > res[1]) { return 0; } else { return 1; } } else { if (res[0] == 0) { hi = mid-1; } else { lo = mid+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. } }

Compilation message (stderr)

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