Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// opinion : answer is n/2
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- const int N = 2e5 + 4;
- int n, Sum[N];
- bool dp[N], Prime[N];
- void prepare() {
- memset(Prime, true, sizeof(Prime)); Prime[1] = Prime[0] = false;
- for (int i = 2; i < N; ++i) {
- if (!Prime[i]) continue;
- int j = i*i;
- while (j < N) {
- Prime[j] = false;
- j += i;
- }
- }
- }
- #undef int
- int main() {
- #define int long long
- freopen("input.txt", "r", stdin);
- n = 1e5;
- prepare();
- dp[0] = true;
- for (int i = 2; i <= n; i += 2) {
- for (int j = i-1; j >= 1; --j) {
- if ( (i - j + 1) % 2 == 1 ) continue;
- if (Prime[j+i] && dp[j-1]) { dp[i] = true; break; }
- }
- }
- for (int i = 2; i <= n; i += 2) {
- if (!dp[i]) { cerr << i << " --> WA \n"; exit(0); }
- }
- cout << "AC" << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement