제출 #808695

#제출 시각아이디문제언어결과실행 시간메모리
808695KemalKArranging Shoes (IOI19_shoes)C++17
10 / 100
1084 ms1840 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; typedef long long int ll; int n; long long count_swaps(std::vector<int> s) { n = s.size(); if (n == 2){ if (s[0] < 0){ return 0; } return 1; } ll ans = 0; vector <bool> used (n + 1, false); for (int i = 0; i < n; i++){ if (!used[i]){ if (s[i] < 0){ int cnt = 0; // cout << "left" << "\n"; for (int j = i + 1; j < n; j++){ if(!used[j] and abs(s[i]) != s[j]){ cnt++; continue; } if (!used[j] and abs(s[i]) == s[j]){ used[j] = true; break; } } // cout << "cnt : " << cnt << "\n"; ans += cnt; used[i] = true; } else{ // right int cnt = 0; // cout << "right" << "\n"; for (int j = i + 1; j < n; j++){ if (!used[j] and s[i] != abs(s[j])){ cnt++; continue; } if (!used[j] and s[i] == abs(s[j])){ used[j] = true; break; } } // cout << "cnt : " << cnt << "\n"; ans += ++cnt; used[i] = true; } } } 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...