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
AC × 4
AC × 33
WA × 21
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