#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
int minValue(int n, int w)
{
int b[n];
int r[n];
for(int i = 1; i < n; i++)
{
b[i] = 0;
}
b[0] = 1;
playRound(b, r);
if(r[0] <= 1)
return 0;
for(int i = 1; i < n; i++)
{
if(r[i] == 0)
return i;
}
return 0;
}
int maxValue(int n, int w)
{
int b[n];
int r[n];
vector < int > maxset;
for(int i = 0; i < n; i++)
{
maxset.push_back(i);
}
while(maxset.size() > 1)
{
int sz = maxset.size();
int by = w / sz;
for(int i = 0; i < n; i++)
{
b[i] = 0;
}
for(int idx : maxset)
{
b[idx] = by;
}
playRound(b, r);
maxset.clear();
for(int i = 0; i < n; i++)
{
if(r[i] > by)
maxset.push_back(i);
}
}
return maxset[0];
return 0;
}
int greaterValue(int n, int w)
{
int b[n];
int r[n];
for(int i = 0; i < n; i++)
{
b[i] = 0;
}
int left = 0;
int right = 20;
int mid;
while(right - left > 1)
{
mid = left + (right - left) / 2;
b[0] = b[1] = mid;
playRound(b, r);
if(r[0] <= mid && r[1] <= mid)
right = mid;
else if(r[0] > mid && r[1] > mid)
left = mid;
else
return r[0] < r[1];
}
b[0] = b[1] = left;
playRound(b, r);
return r[0] < r[1];
return 0;
}
void allValues(int n, int w, int *p)
{
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |