#include "unique.h"
std::vector<int> ans;
void fillvec(int L, int R, int ct);
std::vector<int> PickUnique(int N) {
ans.resize(N);
int ct = UniqueCount(0, N-1);
fillvec(0,N-1,ct);
return ans;
}
void fillvec(int L, int R, int ct)
{
if(L==R)
{
ans[L]=(ct==1);
return;
}
int mid = (L+R)/2;
int a = UniqueCount(L,mid), b = UniqueCount(mid+1,R);
int k = (a+b-ct)/2;
fillvec(L,mid,a-k); fillvec(mid+1,R,b-k);
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Correct : C = 3 |
2 |
Incorrect |
5 ms |
256 KB |
Wrong |
3 |
Halted |
0 ms |
0 KB |
- |