Submission #227185

#TimeUsernameProblemLanguageResultExecution timeMemory
227185urd05Arranging Shoes (IOI19_shoes)C++14
45 / 100
41 ms3832 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> pl;
vector<int> mi;

long long count_swaps(vector<int> v) {
    int n=v.size()/2;
    for(int i=0;i<2*n;i++) {
        if (v[i]>0) {
            pl.push_back(i);
        }
        else {
            mi.push_back(i);
        }
    }
    long long ret=0;
    int used=0;
    vector<int> big;
    int ind=0;
    for(int i=0;i<n;i++) {
        if (pl[i]>mi[i]) {
            ret+=pl[i]-mi[i]-1;
            big.push_back(pl[i]);
        }
        else {
            ret+=mi[i]-pl[i];
            big.push_back(mi[i]);
        }
        while (ind<big.size()&&big[ind]<min(pl[i],mi[i])) {
            ind++;
            used--;
        }
        ret-=used;
        used++;
    }
    return ret;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:30:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while (ind<big.size()&&big[ind]<min(pl[i],mi[i])) {
                ~~~^~~~~~~~~~~
#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...