제출 #671781

#제출 시각아이디문제언어결과실행 시간메모리
671781mseebacherArranging Shoes (IOI19_shoes)C++17
10 / 100
1085 ms17860 KiB
#include<bits/stdc++.h> typedef long long ll; using namespace std; long long int count_swaps(vector<int> s){ int n = s.size(); vector<int> pos(n,0); vector<set<int>> schuhe(n+1); for(int i = 0;i<n;i++) { if(s[i] > 0){ schuhe[s[i]].insert(i); } } ll val = 0; for(int i = 0;i<n;i++){ if(s[i] < 0){ int index = *schuhe[-s[i]].begin(); if(index == i+1){ schuhe[-s[i]].erase(index); continue; } if(index == i-1){ schuhe[-s[i]].erase(index); val++; continue; } if(i > index){ val = val + abs(index-i)-(pos[i]-pos[index]); for(int j = 0;j<index;j++) pos[j]++; }else{ val = val + index-i-1-(pos[index]-pos[i]); for(int j = i+1;j<index;j++) pos[j]--; } schuhe[-s[i]].erase(index); } } return val; }
#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...