Submission #1532359


Source Code Expand

#include "bits/stdc++.h"
#include<unordered_map>
#include<unordered_set>
#pragma warning(disable:4996)
using namespace std;
using ld = long double;
const ld eps = 1e-9;

vector<int>primes;
void hurui(const int amax) {
	static bool flag = false;
	if (flag)return;
	vector<int>sos;
	sos = vector<int>(amax + 1, true);
	sos[0] = false; sos[1] = false;
	for (int i = 2; i <= amax; ++i) {
		if (sos[i]) {
			for (int j = 2 * i; j <= amax; j += i)sos[j] = false;
		}
	}
	for (int i = 0; i <= amax; ++i) {
		if (sos[i]) {
			primes.push_back(i);
		}
	}
	flag = true;
}

vector<int>v;
map<pair<int, int>, int>memo;
int solve(int l, int r) {
	if (l + 1 == r)return 3;
	if (memo.find(make_pair(l, r)) != memo.end())return memo[make_pair(l, r)];
	int ans = 0;
	vector<int>as(v.begin() + l, v.begin() + r);
	int t = as.back() - as.front() + 1;
	if (t % 2) {
		if (binary_search(primes.begin(), primes.end(), t)) {
			ans = 1;
		}
		else {
			ans = 3;
		}
	}
	else {
		ans = 2;
	}
	for (int i = 0; i < as.size() - 1; ++i) {
		int k = as[i + 1] - as[i] - 1;
		if (k % 2) {
			if (binary_search(primes.begin(), primes.end(), k)) {
				ans += 1;
			}
			else {
				ans += 3;
			}
		}
		else {
			if (k == 0)ans += 0;
			else ans += 2;
		}
	}
	for (int k = l + 1; k <= r - 1; ++k) {
		ans = min(ans, solve(l, k) + solve(k, r));
	}
	return memo[make_pair(l,r)]=ans;
}

int main() {
	hurui(1e7);
	int N; cin >> N;

	for (int i = 0; i < N; ++i) {
		int a; cin >> a;
		v.emplace_back(a);
	}
	int aans = solve(0, N);
	cout << aans << endl;
	return 0;
}

Submission Info

Submission Time
Task F - Prime Flip
User yuma000
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1609 Byte
Status WA
Exec Time 271 ms
Memory 45424 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1200
Status
AC × 3
AC × 21
WA × 54
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt, 1_55.txt, 1_56.txt, 1_57.txt, 1_58.txt, 1_59.txt, 1_60.txt, 1_61.txt, 1_62.txt, 1_63.txt, 1_64.txt, 1_65.txt, 1_66.txt, 1_67.txt, 1_68.txt, 1_69.txt, 1_70.txt, 1_71.txt
Case Name Status Exec Time Memory
0_00.txt AC 228 ms 44144 KB
0_01.txt AC 232 ms 44272 KB
0_02.txt AC 231 ms 45424 KB
1_00.txt AC 227 ms 45424 KB
1_01.txt AC 224 ms 45040 KB
1_02.txt AC 228 ms 44528 KB
1_03.txt WA 269 ms 45168 KB
1_04.txt AC 267 ms 44400 KB
1_05.txt AC 266 ms 44912 KB
1_06.txt AC 265 ms 44528 KB
1_07.txt WA 271 ms 45168 KB
1_08.txt WA 268 ms 44016 KB
1_09.txt WA 268 ms 44400 KB
1_10.txt WA 267 ms 44528 KB
1_11.txt WA 267 ms 43760 KB
1_12.txt WA 263 ms 43760 KB
1_13.txt WA 268 ms 45296 KB
1_14.txt WA 266 ms 45168 KB
1_15.txt WA 269 ms 44784 KB
1_16.txt WA 268 ms 44656 KB
1_17.txt WA 267 ms 44016 KB
1_18.txt WA 265 ms 44656 KB
1_19.txt WA 265 ms 45424 KB
1_20.txt WA 265 ms 43760 KB
1_21.txt WA 266 ms 44144 KB
1_22.txt WA 265 ms 43760 KB
1_23.txt WA 265 ms 44144 KB
1_24.txt WA 265 ms 44784 KB
1_25.txt AC 265 ms 43888 KB
1_26.txt AC 262 ms 44400 KB
1_27.txt WA 265 ms 44528 KB
1_28.txt AC 264 ms 43504 KB
1_29.txt WA 266 ms 44144 KB
1_30.txt AC 264 ms 43760 KB
1_31.txt AC 263 ms 45424 KB
1_32.txt AC 265 ms 45040 KB
1_33.txt AC 266 ms 44784 KB
1_34.txt AC 262 ms 43760 KB
1_35.txt AC 264 ms 44400 KB
1_36.txt AC 259 ms 43888 KB
1_37.txt WA 264 ms 45040 KB
1_38.txt AC 264 ms 44144 KB
1_39.txt AC 265 ms 44912 KB
1_40.txt WA 267 ms 44272 KB
1_41.txt WA 269 ms 45424 KB
1_42.txt WA 267 ms 43888 KB
1_43.txt WA 268 ms 44144 KB
1_44.txt WA 270 ms 44784 KB
1_45.txt WA 270 ms 43760 KB
1_46.txt WA 268 ms 44272 KB
1_47.txt WA 267 ms 44784 KB
1_48.txt WA 269 ms 44144 KB
1_49.txt WA 269 ms 44912 KB
1_50.txt WA 267 ms 44272 KB
1_51.txt WA 265 ms 44784 KB
1_52.txt WA 269 ms 44912 KB
1_53.txt WA 268 ms 43632 KB
1_54.txt WA 266 ms 44528 KB
1_55.txt WA 266 ms 45424 KB
1_56.txt WA 228 ms 45040 KB
1_57.txt WA 227 ms 44400 KB
1_58.txt WA 226 ms 44784 KB
1_59.txt WA 228 ms 43760 KB
1_60.txt WA 225 ms 44272 KB
1_61.txt WA 225 ms 45040 KB
1_62.txt WA 228 ms 45040 KB
1_63.txt WA 224 ms 44272 KB
1_64.txt WA 224 ms 45040 KB
1_65.txt WA 233 ms 44400 KB
1_66.txt WA 225 ms 44656 KB
1_67.txt WA 224 ms 44656 KB
1_68.txt WA 229 ms 45040 KB
1_69.txt WA 223 ms 44400 KB
1_70.txt WA 223 ms 43760 KB
1_71.txt WA 224 ms 45296 KB