제출 #255931

#제출 시각아이디문제언어결과실행 시간메모리
255931b00n0rpArranging Shoes (IOI19_shoes)C++17
10 / 100
1 ms384 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define vi vector<int> #define pb push_back #define REP(i,n) for(int i = 0; i < n; i++) #define FOR(i,a,b) for(int i = a; i < b; i++) int n; vi a; ll ans = 0; bool paired(int ind){ if(ind >= 2*n-1 or ind < 0) return 0; return (a[ind]+a[ind+1] == 0 and a[ind] < a[ind+1]); } ll count_swaps(vector<int> s) { n = s.size()/2; a = s; REP(i,n){ int j = 0; while(j < 2*n-1){ // cout << j << " " << ans << endl; if(paired(j-1) or paired(j)) j += 2; else if(paired(j+1)){ ans += 2; if(a[j] == j+1) ans--; if(a[j] == j+2) ans--; swap(a[j],a[j+1]); swap(a[j+1],a[j+2]); j += 2; } else{ if(a[j] != a[j+1]) ans++; swap(a[j],a[j+1]); j++; } } } return ans; }
#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...