Untitled
user_5668965
c_cpp
a year ago
1.0 kB
6
Indexable
#include <bits/stdc++.h> using i64 = long long; std::vector<int> minp, primes; void sieve(int n) { minp.assign(n + 1, 0); primes.clear(); for (int i = 2; i <= n; i++) { if (minp[i] == 0) { minp[i] = i; primes.push_back(i); } for (auto p : primes) { if (i * p > n) { break; } minp[i * p] = p; if (p == minp[i]) { break; } } } } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n, k; std::cin >> n >> k; sieve(n); int cnt = 0; for (int i = 1; i < primes.size(); i++) { int x = primes[i - 1] + primes[i] + 1; if (x <= n && minp[x] == x) { cnt += 1; } } if (cnt >= k) { std::cout << "YES\n"; } else { std::cout << "NO\n"; } return 0; }
Editor is loading...
Leave a Comment