Submission #953133

#TimeUsernameProblemLanguageResultExecution timeMemory
953133ItamarKoala Game (APIO17_koala)C++14
15 / 100
32 ms440 KiB
#include "koala.h" using namespace std; #include <bitset> #include <vector> bitset<100> buy(int* a, int* b) { playRound(a, b); bitset<100> ans; for (int i = 0; i < 100; i++)if (b[i] > a[i])ans[i] = 1; return ans; } int maxValue(int N, int W) { bitset<100> can; for (int i = 0; i < N; i++)can[i] = 1; while (can.count() > 1) { int a[100], b[100]; for (int i = 0; i < 100; i++)if (can[i])a[i] = 100 / can.count(); else a[i] = 0; can = can & buy(a, b); } for (int i = 0; i < N; i++)if (can[i])return i; } int mmaxValue(int N, int W, bitset<100> op) { bitset<100> can = op; while (can.count() > 1) { int a[100], b[100]; int l = 0, r = 4*(op.count() / can.count()); while (l<r) { int mid = (l + r) / 2; for (int i = 0; i < 100; i++)if (can[i])a[i] = mid; else a[i] = 0; bitset<100> c = can & buy(a, b); if (c == can) { l = mid + 1; } else if (c.count() == 0) { r = mid - 1; } else { can = c; break; } } } for (int i = 0; i < N; i++)if (can[i])return i; } 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. return 0; } int greaterValue(int N, int W) { // TODO: Implement Subtask 3 solution here. // You may leave this function unmodified if you are not attempting this // subtask. return 0; } void allValues(int N, int W, int* P) { if (W == 2 * N) { bitset<100> op; for (int i = 0; i < N; i++)op[i] = 1; for (int i = N; i > 0; i--) { int in = mmaxValue(N, W, op); P[in] = i; op[in] = 0; } } else { bitset<100> op; for (int i = 0; i <N; i++)op[i] = 1; for (int i = N; i > 0; i--) { int in = mmaxValue(N, W, op); P[in] = i; op[in] = 0; } } }

Compilation message (stderr)

koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:23:1: warning: control reaches end of non-void function [-Wreturn-type]
   23 | }
      | ^
koala.cpp: In function 'int mmaxValue(int, int, std::bitset<100>)':
koala.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
#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...