Submission #1543570
Source Code Expand
#include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define fio ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) using namespace std; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef long long ll; const int N = 2005; string a,b; int n; int pl[N],pr[N]; int pfl[N],pfr[N]; vector<pii> v; int main() { fio; cin >> a >> b; n = a.size(); int last = -1; for(int i = 0; i < 2*n; ++i) { if(b[i%n] == '1') last = i; if(i >= n) pl[i-n] = i-last; } if(last == -1) { printf("-1\n"); return 0; } last = 2*n; for(int i = 2*n-1; i >= 0; --i) { if(b[i%n] == '1') last = i; if(i < n) pr[i] = last-i; } int ans = 1<<20; for(int s = -n; s < n; ++s) { string c = a; for(int i = 0; i < n; ++i) { int j = (i+s+n)%n; c[i] = a[j]; } v.clear(); // cout << "shift " << s << " -> " << a << " vs " << b << endl; for(int i = 0; i < n; ++i) { if(c[i] != b[i]) { v.emplace_back(pl[i],pr[i]); // cout << i << " -> " << v.back().fi << " " << v.back().se << endl; } } int base_l=0,base_r=0; if(s < 0) base_l = -s; if(s > 0) base_r = s; sort(v.begin(),v.end()); pfl[0] = pfr[0] = 0; for(int i = 1; i <= v.size(); ++i) { pfl[i] = max(pfl[i-1],v[i-1].se); pfr[i] = max(pfr[i-1],v[v.size()-i].se); } //iter on max l for(int i = 0; i <= v.size(); ++i) { int max_l = pfl[i], max_r = pfr[v.size()-i]; int r = v.size(); r += 2*(max(base_r,max_r) - base_r); r += base_r; r += 2*(max(base_l,max_l) - base_l); r += base_l; ans = min(ans,r); // cout << base_l << " " << base_r << endl; // cout << s << " to " << a << " makes " << max_l << ", " << max_r << " : " << r << endl; } } printf("%d\n",ans); }
Submission Info
Submission Time | |
---|---|
Task | D - Shift and Flip |
User | cephian |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1829 Byte |
Status | WA |
Exec Time | 300 ms |
Memory | 384 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 | WA | 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 | WA | 1 ms | 256 KB |
subtask_1_05.txt | AC | 192 ms | 384 KB |
subtask_1_06.txt | AC | 1 ms | 256 KB |
subtask_1_07.txt | AC | 46 ms | 256 KB |
subtask_1_08.txt | AC | 1 ms | 256 KB |
subtask_1_09.txt | WA | 1 ms | 256 KB |
subtask_1_10.txt | AC | 2 ms | 256 KB |
subtask_1_11.txt | AC | 233 ms | 384 KB |
subtask_1_12.txt | AC | 200 ms | 384 KB |
subtask_1_13.txt | AC | 235 ms | 384 KB |
subtask_1_14.txt | AC | 199 ms | 384 KB |
subtask_1_15.txt | WA | 230 ms | 384 KB |
subtask_1_16.txt | WA | 224 ms | 384 KB |
subtask_1_17.txt | WA | 232 ms | 384 KB |
subtask_1_18.txt | AC | 275 ms | 384 KB |
subtask_1_19.txt | AC | 300 ms | 384 KB |
subtask_1_20.txt | AC | 298 ms | 384 KB |
subtask_1_21.txt | WA | 130 ms | 384 KB |
subtask_1_22.txt | WA | 130 ms | 384 KB |
subtask_1_23.txt | AC | 198 ms | 384 KB |
subtask_1_24.txt | AC | 198 ms | 384 KB |
subtask_1_25.txt | WA | 198 ms | 384 KB |
subtask_1_26.txt | WA | 2 ms | 256 KB |
subtask_1_27.txt | WA | 3 ms | 256 KB |
subtask_1_28.txt | WA | 10 ms | 256 KB |
subtask_1_29.txt | WA | 42 ms | 256 KB |
subtask_1_30.txt | WA | 177 ms | 384 KB |
subtask_1_31.txt | AC | 1 ms | 256 KB |
subtask_1_32.txt | WA | 2 ms | 256 KB |
subtask_1_33.txt | WA | 3 ms | 256 KB |
subtask_1_34.txt | WA | 11 ms | 256 KB |
subtask_1_35.txt | WA | 41 ms | 256 KB |
subtask_1_36.txt | WA | 185 ms | 384 KB |
subtask_1_37.txt | WA | 2 ms | 256 KB |
subtask_1_38.txt | WA | 3 ms | 256 KB |
subtask_1_39.txt | WA | 11 ms | 256 KB |
subtask_1_40.txt | WA | 46 ms | 256 KB |
subtask_1_41.txt | WA | 174 ms | 384 KB |
subtask_1_42.txt | WA | 171 ms | 384 KB |
subtask_1_43.txt | WA | 181 ms | 384 KB |
subtask_1_44.txt | WA | 189 ms | 384 KB |
subtask_1_45.txt | WA | 188 ms | 384 KB |
subtask_1_46.txt | WA | 191 ms | 384 KB |