Submission #374916

#TimeUsernameProblemLanguageResultExecution timeMemory
374916Alex_tz307Arranging Shoes (IOI19_shoes)C++17
50 / 100
1093 ms3308 KiB
#include <bits/stdc++.h>
#define ABS(x) ((x) >= 0 ? (x) : -(x))

using namespace std;
using int64 = long long;

int64 count_swaps(vector<int> s) {
    int N = s.size();
    int64 ans = 0;
    for(int i = 0; i < N; i += 2)
        for(int j = i + 1; j < N; ++j)
            if(s[j] == -s[i]) {
                int last = i + 1;
                if(s[i] < 0)
                    ans += j - i - 1;
                else
                    ans += j - i, last = i;
                int p = j;
                while(p > last) {
                    swap(s[p], s[p - 1]);
                    --p;
                }
                break;
            }
    return ans;
}
#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...