Submission #661891

#TimeUsernameProblemLanguageResultExecution timeMemory
661891victor_gaoMonster Game (JOI21_monster)C++17
10 / 100
191 ms336 KiB
//#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...