Submission #5662962
Source Code Expand
#include <bits/stdc++.h> using namespace std; const int MAXn = 2000 + 10; typedef pair<bool, bool> pbb; struct salarQ { int l , r; pair<pair<bool, bool> , int> ar[2 * MAXn]; salarQ() { for (int i = 0; i < 2 * MAXn; i++) ar[i].first = pbb(0, 0); l = r = MAXn; } void push_back(bool a) { ar[r++].first.first = a; } void shift_left() { swap(ar[l], ar[r]); l++;r++; } void shift_right() { l--;r--; swap(ar[l], ar[r]); } bool get(int a) { return ar[l+a].first.first; } void set(int a) { ar[l+a].first.second = true; } bool ca(int a) { return ar[l+a].first.second; } int min1(int a) { return ar[l+a].second; } void setmin1(int a, int b) { ar[l+a].second = b; } }; salarQ Q, Q2; string a, b; int n, ans = 10 * MAXn; void check(int ind, salarQ &k) { int cnt = 0, hp = 0; for (int i = 0; i < n; i++) { if (b[i] == '1') k.set(i); } for (int i = 0; i < n; i++) if (k.get(i) != b[i] - '0') { if (!k.ca(i)) hp = max(k.min1(i), hp); cnt++; } ans = min(ans, cnt + ind + 2 * hp); } int main() { cin >> a >> b; bool flag = false; for (int i = 0; i < b.size(); i++) if (b[i] == '1') flag = true; if (!flag) { for (int i = 0; i < a.size(); i++) if (a[i] == '1') return cout << -1,0; return cout << 0,0; } n = a.size(); for (int i = 0; i < n; i++) { Q.push_back(a[i]-'0'); for (int j = 0; j < n; j++) if (b[(i-j+n) % n] == '1') { Q.setmin1(i, j); break; } Q2.push_back(a[i]-'0'); for (int j = 0; j < n; j++) if (b[(i+j) % n] == '1') { Q2.setmin1(i, j); break; } } for (int i = 0; i < n; i++) { check(i, Q); Q.shift_right(); } for (int i = 0; i < n; i++) { check(i, Q2); Q2.shift_left(); } cout << ans; }
Submission Info
Submission Time | |
---|---|
Task | D - Shift and Flip |
User | vjudge3 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1746 Byte |
Status | WA |
Exec Time | 88 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 1000 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
sample_04.txt | AC | 1 ms | 256 KB |
subtask_1_01.txt | AC | 1 ms | 256 KB |
subtask_1_02.txt | AC | 1 ms | 256 KB |
subtask_1_03.txt | AC | 1 ms | 256 KB |
subtask_1_04.txt | AC | 1 ms | 256 KB |
subtask_1_05.txt | AC | 28 ms | 256 KB |
subtask_1_06.txt | AC | 1 ms | 256 KB |
subtask_1_07.txt | AC | 23 ms | 256 KB |
subtask_1_08.txt | AC | 1 ms | 256 KB |
subtask_1_09.txt | AC | 1 ms | 256 KB |
subtask_1_10.txt | AC | 1 ms | 256 KB |
subtask_1_11.txt | AC | 88 ms | 256 KB |
subtask_1_12.txt | AC | 78 ms | 256 KB |
subtask_1_13.txt | AC | 88 ms | 256 KB |
subtask_1_14.txt | AC | 53 ms | 256 KB |
subtask_1_15.txt | AC | 51 ms | 256 KB |
subtask_1_16.txt | AC | 49 ms | 256 KB |
subtask_1_17.txt | AC | 49 ms | 256 KB |
subtask_1_18.txt | AC | 50 ms | 256 KB |
subtask_1_19.txt | AC | 54 ms | 256 KB |
subtask_1_20.txt | AC | 58 ms | 256 KB |
subtask_1_21.txt | AC | 38 ms | 256 KB |
subtask_1_22.txt | AC | 37 ms | 256 KB |
subtask_1_23.txt | AC | 41 ms | 256 KB |
subtask_1_24.txt | AC | 41 ms | 256 KB |
subtask_1_25.txt | AC | 41 ms | 256 KB |
subtask_1_26.txt | WA | 1 ms | 256 KB |
subtask_1_27.txt | WA | 2 ms | 256 KB |
subtask_1_28.txt | WA | 4 ms | 256 KB |
subtask_1_29.txt | WA | 15 ms | 256 KB |
subtask_1_30.txt | WA | 57 ms | 256 KB |
subtask_1_31.txt | WA | 1 ms | 256 KB |
subtask_1_32.txt | WA | 1 ms | 256 KB |
subtask_1_33.txt | WA | 2 ms | 256 KB |
subtask_1_34.txt | WA | 4 ms | 256 KB |
subtask_1_35.txt | WA | 13 ms | 256 KB |
subtask_1_36.txt | WA | 59 ms | 256 KB |
subtask_1_37.txt | WA | 1 ms | 256 KB |
subtask_1_38.txt | WA | 2 ms | 256 KB |
subtask_1_39.txt | WA | 4 ms | 256 KB |
subtask_1_40.txt | WA | 15 ms | 256 KB |
subtask_1_41.txt | WA | 56 ms | 256 KB |
subtask_1_42.txt | WA | 55 ms | 256 KB |
subtask_1_43.txt | WA | 55 ms | 256 KB |
subtask_1_44.txt | WA | 60 ms | 256 KB |
subtask_1_45.txt | WA | 58 ms | 256 KB |
subtask_1_46.txt | WA | 58 ms | 256 KB |