제출 #1307491

#제출 시각아이디문제언어결과실행 시간메모리
1307491hectormedranoArranging Shoes (IOI19_shoes)C++20
10 / 100
1100 ms75864 KiB
#include <cstdio> #include <cassert> #include <bits/stdc++.h> using namespace std; typedef long long ll; ll count_swaps(vector<int> s) { ll inv = 0; ll n = s.size(); n = n/2; vector<pair<ll, ll>> a; vector<queue<ll>> q(n+1); vector<ll> v; for(ll i=0;i<2*n;i++){ if(s[i]<0){ a.push_back({s[i], i}); a.push_back({-s[i], -1}); } else { q[s[i]].push(i); } v.push_back(i); } for(ll i=0;i<2*n;i++){ if(a[i].first > 0){ a[i].second = q[a[i].first].front(); q[a[i].first].pop(); } } for(ll i=0;i<2*n;i++){ ll j=2*n-1; while(v[j] != a[i].second){j--;} for(ll k=j;j>i;j--){ swap(v[j], v[j-1]); inv++; } } return inv; }
#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...