Submission
Status:
(-SSS)(SSS)(SSS)
Subtask/Task Score:
{0/40}{0/30}{0/30}
Score: 0
User: Bestzu
Problemset: Twin, Cousin, and Sexy Prime
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-16 16:39:33
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
const int N = 70000001;
vector<bool> isprime(N, true);
void sieve(int r) {
isprime[0] = isprime[1] = false;
for(int i = 2; i * i <= r; i++) {
if(isprime[i]) {
for(ll j = 1LL * i * i; j <= r; j += i) {
isprime[j] = false;
}
}
}
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int l, r;
cin >> l >> r;
sieve(r);
int twin = 0, cousin = 0, sexy = 0;
for(int i = l; i <= r; i++) {
if(isprime[i]) {
// cout << "i = " << i << endl;
if(i + 2 <= r && isprime[i+2]) {
// cout << "i + 2 = " << i + 2 << endl;
twin += 2;
}
if(i + 4 <= r && isprime[i+4]) {
// cout << "i + 4 = " << i + 4 << endl;
cousin += 2;
}
if(i + 6 <= r && isprime[i+6]) {
// cout << "i + 6 = " << i + 6 << endl;
sexy += 2;
}
}
}
cout << twin << endl << cousin << endl << sexy << endl;
return 0;
}