Submission #1077518

#TimeUsernameProblemLanguageResultExecution timeMemory
1077518IgnutArranging Shoes (IOI19_shoes)C++17
50 / 100
1096 ms3260 KiB
// Ignut #include <bits/stdc++.h> using namespace std; using ll = long long; ll count_swaps(vector<int> S) { ll res = 0; int n = S.size(); for (int i = 1; i < n; i += 2) { int target = -S[i - 1]; int j; for (j = i; j < n; j ++) if (S[j] == target) break; while (j > i) { swap(S[j - 1], S[j]); j --; res ++; } if (S[i - 1] > 0) { swap(S[i - 1], S[i]); res ++; } // if (i % 2 == 0) { // int j; // for (j = i; j < n; j ++) // if (S[j] < 0) // break; // while (j > i) { // swap(S[j - 1], S[j]); // j --; // res ++; // } // } // else { // int j; // for (j = i; j < n; j ++) // if (S[j] == -S[i - 1]) // break; // while (j > i) { // swap(S[j - 1], S[j]); // j --; // res ++; // } // } } // for (int sz = 1; sz <= n / 2; sz ++) { // res += sz - 1; // } /*int pos = 0; for (int i = 0; i < n; i ++) { if (S[i] > 0) continue; res += abs(i - pos); pos += 2; }*/ return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...