제출 #991345

#제출 시각아이디문제언어결과실행 시간메모리
991345MarwenElarbiArranging Shoes (IOI19_shoes)C++17
10 / 100
1 ms432 KiB
#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define ll long long #define pb push_back const int nax=200005; long long count_swaps(std::vector<int> s) { int n=s.size(); map<int,queue<int>> mp; bool vis[n]; memset(vis,0,sizeof vis); for (int i = 0; i < n; ++i) { mp[s[i]].push(i); } long long ans=0; for (int i = 0; i < n; ++i) { if(vis[i]) continue; auto u=mp[-s[i]].front(); mp[-s[i]].pop(); mp[s[i]].pop(); vis[i]=vis[u]=true; ans+=(u-i-1)+(s[i]>0); } return ans; } /*int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int n; assert(1 == scanf("%d", &n)); vector<int> S(2 * n); for (int i = 0; i < 2 * n; i++) assert(1 == scanf("%d", &S[i])); fclose(stdin); long long result = count_swaps(S); printf("%lld\n", result); fclose(stdout); return 0; }*/
#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...