Submission #1691497


Source Code Expand

#include <bits/stdc++.h>

#define For(i, j, k) for(int i = j; i <= k; i++)
#define pb push_back

using namespace std;

const int N = 210;
const int M = 1e7 + 10;

bool vis[M];
int prm[M], tot;

void init(int n){
	vis[1] = true;
	For(i, 2, n){
		if(!vis[i]) prm[++tot] = i;
		for(int j = 1; j <= tot && prm[j] * i <= n; ++j){
			vis[prm[j] * i] = true;
			if(i % prm[j] == 0) break;
		}
	}
}

int n, m;
vector<int> G[N];
int pos[N], match[N], used[N];

bool Hungary(int o){
	if(used[o]) return false;
	used[o] = true;
	for(int v : G[o]){
		int &x = match[v];
		if(!x || Hungary(x)){
			x = o;
			return true;
		}
	}
	return false;
}

int main(){
	
	init(M - 5);
	scanf("%d", &n);
	For(i, 1, n){
		int x;
		scanf("%d", &x);
		pos[++m] = x, pos[++m] = x + 1;
	}

	sort(pos + 1, pos + m + 1);
	int node = 0;
	For(i, 1, m){
		if(pos[i + 1] == pos[i]) ++i;
		else pos[++node] = pos[i];
	}
	For(i, 1, node) if(pos[i] & 1)
		For(j, 1, node){
			int x = abs(pos[i] - pos[j]);
			if(pos[j] % 2 == 0 && !vis[x]){
				G[i].pb(j);
			}
		}

	int ret = 0, odd = 0;
	For(i, 1, node) if(pos[i] & 1){
		++odd;
		memset(used, false, sizeof used);
		ret += Hungary(i);
	}

	int even = node - odd - ret;
	odd -= ret;
	if(even & 1) ret = node - ret + 1;
	else ret = node - ret;

	printf("%d\n", ret);

	return 0;
}

Submission Info

Submission Time
Task F - Prime Flip
User dy0607
Language C++14 (GCC 5.4.1)
Score 1200
Code Size 1373 Byte
Status AC
Exec Time 71 ms
Memory 14336 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:45:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
                 ^
./Main.cpp:48:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &x);
                  ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1200 / 1200
Status
AC × 3
AC × 75
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 68 ms 14208 KB
0_01.txt AC 68 ms 14208 KB
0_02.txt AC 68 ms 14208 KB
1_00.txt AC 67 ms 14208 KB
1_01.txt AC 68 ms 14208 KB
1_02.txt AC 67 ms 14208 KB
1_03.txt AC 68 ms 14336 KB
1_04.txt AC 68 ms 14208 KB
1_05.txt AC 68 ms 14208 KB
1_06.txt AC 67 ms 14208 KB
1_07.txt AC 68 ms 14336 KB
1_08.txt AC 68 ms 14208 KB
1_09.txt AC 68 ms 14208 KB
1_10.txt AC 68 ms 14208 KB
1_11.txt AC 68 ms 14208 KB
1_12.txt AC 68 ms 14208 KB
1_13.txt AC 68 ms 14208 KB
1_14.txt AC 68 ms 14208 KB
1_15.txt AC 68 ms 14208 KB
1_16.txt AC 68 ms 14208 KB
1_17.txt AC 68 ms 14208 KB
1_18.txt AC 68 ms 14208 KB
1_19.txt AC 69 ms 14208 KB
1_20.txt AC 68 ms 14208 KB
1_21.txt AC 68 ms 14208 KB
1_22.txt AC 68 ms 14208 KB
1_23.txt AC 69 ms 14208 KB
1_24.txt AC 68 ms 14208 KB
1_25.txt AC 69 ms 14208 KB
1_26.txt AC 68 ms 14208 KB
1_27.txt AC 69 ms 14208 KB
1_28.txt AC 68 ms 14208 KB
1_29.txt AC 68 ms 14336 KB
1_30.txt AC 68 ms 14208 KB
1_31.txt AC 68 ms 14208 KB
1_32.txt AC 68 ms 14208 KB
1_33.txt AC 68 ms 14208 KB
1_34.txt AC 68 ms 14208 KB
1_35.txt AC 68 ms 14208 KB
1_36.txt AC 68 ms 14208 KB
1_37.txt AC 68 ms 14208 KB
1_38.txt AC 68 ms 14208 KB
1_39.txt AC 68 ms 14208 KB
1_40.txt AC 68 ms 14208 KB
1_41.txt AC 68 ms 14208 KB
1_42.txt AC 68 ms 14336 KB
1_43.txt AC 68 ms 14208 KB
1_44.txt AC 68 ms 14336 KB
1_45.txt AC 68 ms 14208 KB
1_46.txt AC 68 ms 14336 KB
1_47.txt AC 68 ms 14336 KB
1_48.txt AC 68 ms 14336 KB
1_49.txt AC 68 ms 14208 KB
1_50.txt AC 68 ms 14208 KB
1_51.txt AC 68 ms 14208 KB
1_52.txt AC 68 ms 14208 KB
1_53.txt AC 68 ms 14336 KB
1_54.txt AC 68 ms 14208 KB
1_55.txt AC 68 ms 14336 KB
1_56.txt AC 68 ms 14208 KB
1_57.txt AC 68 ms 14208 KB
1_58.txt AC 69 ms 14208 KB
1_59.txt AC 71 ms 14208 KB
1_60.txt AC 69 ms 14208 KB
1_61.txt AC 69 ms 14208 KB
1_62.txt AC 68 ms 14208 KB
1_63.txt AC 68 ms 14208 KB
1_64.txt AC 68 ms 14208 KB
1_65.txt AC 68 ms 14208 KB
1_66.txt AC 68 ms 14208 KB
1_67.txt AC 68 ms 14208 KB
1_68.txt AC 68 ms 14208 KB
1_69.txt AC 68 ms 14208 KB
1_70.txt AC 68 ms 14208 KB
1_71.txt AC 68 ms 14208 KB