# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
987751 | AdamGS | Counting Mushrooms (IOI20_mushrooms) | C++17 | 10 ms | 984 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "mushrooms.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
int count_mushrooms(int n) {
vector<int>A, B;
A.pb(0);
int l=1, ans=0;
while(l<n) {
if(A.size()>=B.size()) {
int p=min(n-l, (int)A.size());
vector<int>T;
rep(i, p) {
T.pb(A[i]);
T.pb(l);
++l;
}
int x=use_machine(T);
if(x%2==0) A.pb(l-1); else B.pb(l-1);
ans+=p-1-x/2;
} else {
int p=min(n-l, (int)B.size());
vector<int>T;
rep(i, p) {
T.pb(B[i]);
T.pb(l);
++l;
}
int x=use_machine(T);
if(x%2==0) B.pb(l-1); else A.pb(l-1);
ans+=x/2;
}
}
ans+=A.size();
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |