Submission #151161

#TimeUsernameProblemLanguageResultExecution timeMemory
151161imyujinOn the Grid (FXCUP4_grid)C++17
0 / 100
2 ms320 KiB
#include "grid.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 1005; vector<int> ans; std::vector<int> SortDisks(int N) { ans.resize(N); vector<int> v; for(int i = 0; i < N; i++) v.push_back(i); int left = N; int sum = 0; int X = PutDisks(v); for(int i = 0; left > 1; i++) { int t = v[left - 1]; for(int j = left - 1; j > 0; j--) v[j] = v[j - 1]; v[0] = t; int Y = PutDisks(v); if(Y != X - 1) { t = v[0]; ans[t] = Y - N + 1; sum += ans[t]; int lb = lower_bound(v.begin() + left, v.end(), t, [&](const int a, const int b) { return ans[a] < ans[b]; } ) - v.begin(); for(int j = 0; j < lb - 1; j++) v[j] = v[j + 1]; v[lb - 1] = t; left--; } } ans[v[0]] = N * (N + 1) / 2 - sum; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...