제출 #766218

#제출 시각아이디문제언어결과실행 시간메모리
766218LudisseyArranging Shoes (IOI19_shoes)C++14
10 / 100
1 ms340 KiB
#include "shoes.h" #include <iostream> #include <string> #include <set> #include <map> #include <cstring> #include <unordered_map> #include <vector> #include <fstream> #include <bitset> #include <tuple> #include <cmath> #include <cstdint> #include <stack> #include <cassert> #include <cstdio> #include <queue> #include <iterator> #include <iomanip> #include <algorithm> #include <sstream> #define INF 9223372036854775801 #define int long long #define double long double #define MOD(a) ((a) % 1000000007 + 1000000007 ) % 1000000007 #define FI first #define caseOut(t) cout << "Case " << t << ": "; #define SE second #define USACO_SETUP() ifstream cin("paint.in"); ofstream cout("paint.out"); #define SETUP() ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std; long long count_swaps(std::vector<signed> s) { int n = s.size(); int sum = 0; int i = 0; int c = 0; while(i<n&&c<2000) { c++; int l = i - 1, r = i + 1; int indx = 0; while (l >= 0 || r < n) { if (l >= 0 && s[l] == -s[i]) { indx = l; break; } else if (r < n && s[r] == -s[i]) { indx = r; break; } l--; r++; } int targ = (indx / 2) * 2; if (s[i] % 2 != 0) targ++; int ad = 1; if (i < indx) { for (int v = i; v < n; v++) { if (v < n - 1 && s[v]<0 && v % 2 == 0 && s[v + 1] == -s[v]) break; else if (v > 0 && v % 2 != 0 && s[v-1] == -s[v]) break; sum++; swap(s[v], s[v + 1]); ad = 0; } } else { for (int v = i; v >= 0; v--) { if (v < n - 1 && s[v] < 0 && v % 2 == 0 && s[v + 1] == -s[v]) break; else if (v > 0 && v % 2 != 0 && s[v - 1] == -s[v]) break; sum++; swap(s[v], s[v - 1]); } } i += ad; } return sum; }
#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...