This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#pragma GCC optimize("Ofast,unroll-loops,O3")
//#pragma GCC optimize("avx,avx2,sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,fma,tune=native")
#include "monster.h"
#include<bits/stdc++.h>
#define pii pair<int,int>
#define x first
#define y second
using namespace std;
vector<int> Solve(int N){
map<pii,vector<int> >mp;
vector<int>ans;
int cnt[205]={0};
ans.resize(N,0);
for (int i=0;i<N;i++){
for (int j=i+1;j<N;j++){
if (Query(i,j)) cnt[i]++;
else cnt[j]++;
}
}
for (int i=0;i<N;i++)
mp[{cnt[i],N-1-cnt[i]}].push_back(i);
for (auto i:mp){
if (i.y.size()==1){
ans[i.y[0]]=i.x.x;
}
else {
int a=i.y[0],b=i.y[1];
if (Query(a,b)){
if (i.x.x<N/2){
ans[a]=i.x.x-1;
ans[b]=i.x.x;
}
else {
ans[a]=i.x.x;
ans[b]=i.x.x+1;
}
}
else {
if (i.x.x<N/2){
ans[b]=i.x.x-1;
ans[a]=i.x.x;
}
else {
ans[b]=i.x.x;
ans[a]=i.x.x+1;
}
}
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |