# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1137594 | Muhammad_Aneeq | COVID tests (CEOI24_covid) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <vector>
#include "grader.cpp"
using namespace std;
vector<bool>vals;
vector<bool> answer;
bool ask(int l,int r)
{
for (int i=l;i<=r;i++)
vals[i]=1;
int f=test_students(vals);
for (int i=l;i<=r;i++)
vals[i]=0;
return f;
}
void divi(int l,int r)
{
int mid=(l+r)/2;
if (l==r)
{
answer[l]=1;
return;
}
if (ask(l,mid))
divi(l,r);
if (ask(mid+1,r))
divi(mid+1,r);
}
vector<bool> find_positive()
{
vals.resize(N);
answer=vals;
divi(0,N-1);
return answer;
}