Submission #143284

#TimeUsernameProblemLanguageResultExecution timeMemory
143284mat_vArranging Shoes (IOI19_shoes)C++14
10 / 100
1079 ms18424 KiB
#include "shoes.h" #include <bits/stdc++.h> #include <cstdio> #include <cassert> #define pb push_back using namespace std; int n; vector<int> tike[200005][2]; int dokle[200005][2]; long long count_swaps(std::vector<int> s) { n = s.size()/2; for(int i=0; i<2*n; i++){ if(s[i] < 0)tike[abs(s[i])][0].pb(i); else tike[s[i]][1].pb(i); } int l = 0; long long res = 0; while(l < 2*n){ int koji = abs(s[l]); int ind = 0; if(s[l] < 0)ind = 1; int gde = tike[koji][ind][dokle[koji][ind]]; while(gde > l+1){ //cout << gde << endl; swap(s[gde], s[gde-1]); res++; gde--; } dokle[koji][ind]++; dokle[koji][ind^1]++; if(!ind)res++; l += 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...