이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
const int N=43001;
set<int> ss,tmp;
int query(int x)
{
int ans=Query(x);
if(ss.find(x)!=ss.end()) ss.erase(x);
else ss.insert(x);
return ans;
}
vector< pair<int,int> > ans;
void Solve(int n)
{
int las=0,cur;
for(int i=1;i<=2*n;i++)
{
cur=query(i);
/*if(i==6)
{
cout << "GOT: " << las << " " << cur << endl;
for(auto it:ss)
cout << it << endl;
}*/
if(cur==las)
{
//cout << i << " " << cur << endl;
las=cur;
while(ss.size())
{
int ce=*ss.begin();
cur=query(ce);
if(cur==las)
{
ans.push_back({ce,i});
cur=query(i);
break;
}
else
{
tmp.insert(ce);
las=cur;
}
}
while(tmp.size())
{
cur=query(*tmp.begin());
tmp.erase(tmp.begin());
}
}
las=cur;
}
for(auto i:ans)
{
//cout << i.first << " " << i.second << endl;
Answer(i.first,i.second);
}
}
# | 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... |
# | 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... |