Submission #247261

#TimeUsernameProblemLanguageResultExecution timeMemory
247261tqbfjotldMouse (info1cup19_mouse)C++14
42 / 100
302 ms384 KiB
#include "grader.h" #include <bits/stdc++.h> using namespace std; int solved[260]; void solve(int N){ memset(solved,0,sizeof(solved)); vector<int> qu; for (int x = 1; x<=N; x++){ qu.push_back(x); } for (int x = 0; x<N; x++){ if (solved[x]) continue; int minv = -1; int p1 = -1; int p2 = -1; for (int y = x; y<N; y++){ if (solved[y]) continue; //printf("%d %d\n",qu[x],qu[y]); swap(qu[x],qu[y]); //printf("%d %d\n",qu[x],qu[y]); int res = query(qu); if (res==N) return; if (res>minv){ p1 = y; p2 = -1; minv = res; } else if (res==minv){ p2 = y; } swap(qu[x],qu[y]); } //printf("%d %d pos\n",p1,p2); if (p2==-1){ swap(qu[x],qu[p1]); solved[x] = true; solved[p1] = true; } else{ //printf("figuring out\n"); swap(qu[x],qu[p1]); swap(qu[p1],qu[p2]); int res = query(qu); if (res==N) return; if (res>minv){ solved[x] = true; solved[p2] = true; } else{ swap(qu[p1],qu[p2]); swap(qu[x],qu[p2]); solved[x] = true; solved[p1] = true; } } } query(qu); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...