Submission
Status:
(PPPP)(PPP)(PPP)
Subtask/Task Score:
{40/40}{30/30}{30/30}
Score: 100
User: gay69
Problemset: Twin, Cousin, and Sexy Prime
Language: cpp
Time: 0.313 second
Submitted On: 2025-10-05 21:19:59
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<bool> find_sieve(ll n) {
vector<bool> sieve(n + 1, false);
sieve[0] = sieve[1] = true;
for (ll i = 2; i * i <= n; i++) {
if (sieve[i]) {
continue;
}
for (ll j = i * i; j <= n; j += i) {
sieve[j] = true;
}
}
return sieve;
}
int main() {
ll l, r;
cin >> l >> r;
vector<bool> sieve = find_sieve(r + 6);
ll m = sieve.size();
ll ans = 0, ans2 = 0, ans3 = 0;
for (int i = l; i <= r; i++) {
if (sieve[i]) {
continue;
}
ans += ((i >= 2 && !sieve[i - 2]) || !sieve[i + 2]);
ans2 += ((i >= 4 && !sieve[i - 4]) || !sieve[i + 4]);
ans3 += (( i >= 6 && !sieve[i - 6]) || !sieve[i + 6]);
}
cout << ans << "\n" << ans2 << "\n" << ans3 << "\n";
return 0;
}