Submission #286296

#TimeUsernameProblemLanguageResultExecution timeMemory
286296BeanZArranging Shoes (IOI19_shoes)C++14
50 / 100
1081 ms6008 KiB
#include <bits/stdc++.h>
#include "shoes.h"

using namespace std;

#define ll long long
#define endl '\n'

const int N = 2e5 + 5;
vector<ll> node[100005];
ll a[200005], in[200005];
ll count_swaps(vector<int> s){
        ll ans = 0;
        int n = s.size();
        for (int i = 0; i < n; i++){
                bool flag = false;
                for (int j = 0; j < i; j++){
                        if (((s[j] + s[i]) == 0) && in[j] == 0){
                                flag = true;
                                if (s[i] < 0) {
                                        ans = ans + i - j;
                                        for (int k = i - 1; k >= j; k--){
                                                swap(s[k], s[k + 1]);
                                                swap(in[k], in[k + 1]);
                                        }
                                        in[j + 1] = 1;
                                        in[j] = 1;
                                        break;
                                } else {
                                        ans = ans + i - j - 1;
                                        for (int k = i - 1; k > j; k--){
                                                swap(s[k], s[k + 1]);
                                                swap(in[k], in[k + 1]);
                                        }
                                        in[j + 1] = 1;
                                        in[j] = 1;
                                        break;
                                }
                        }
                }
        }
        return ans;
}
/*
int main(){
        ios_base::sync_with_stdio(false);
        cin.tie(0);
        if (fopen("VietCT.INP", "r")){
                freopen("VietCT.INP", "r", stdin);
                freopen("VietCT.OUT", "w", stdout);
        }
        ll n;
        cin >> n;
        vector<int> mem;
        for (int i = 1; i <= (2 * n); i++){
                ll u;
                cin >> u;
                mem.push_back(u);
        }
        cout << count_swaps(mem);
}
*/
/*
2
-2 -2 2 2
*/

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:16:22: warning: variable 'flag' set but not used [-Wunused-but-set-variable]
   16 |                 bool flag = false;
      |                      ^~~~
#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...