# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
315045 | daniel920712 | CONSUL (info1cup19_consul) | C++14 | 0 ms | 0 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 "grader.h"
#include "grader.h"
#include <map>
#include <time.h>
using namespace std;
map < int , int > all;
int how[1005];
void solve(int n)
{
srand(time(NULL));
all.clear();
int i,t,big=0,xx=n,x,y;
if(n<=50)
{
for(i=1;i<=n;i++)
{
t=kth(i);
all[t]++;
big=max(big,all[t]);
if(all[t]>n/3)
{
say_answer(t);
return;
}
if(big+(n-i)<=n/3)
{
say_answer(-1);
return;
}
}
say_answer(-1);
}
else
{
for(i=0;i<n;i++) how[i]=i+1;
random_shuffle(how,how+n);
for(i=0;i<30;i++)
{
x=kth(how[0]);
if(cnt(x)>n/3)
{
say_answer(x);
return;
}
}
say_answer(-1);
}
}