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
AC × 4
AC × 25
WA × 29
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