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 "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... |