Submission

Status:

(PPPP)(PPP)(PPP)

Subtask/Task Score:

{40/40}{30/30}{30/30}

Score: 100

User: Bestzu

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.333 second

Submitted On: 2025-10-17 09:15:52

#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); cout.tie(0);

    int l, r;
    cin >> l >> r;

    sieve(r + 10);

	int t, c, s;
	t = c = s = 0;

    for(int i = l; i <= r; i++) {
        if(isprime[i]) {
        	if((isprime[i-2] || isprime[i+2])) t++; 
        	if((i-4 >= 0 && isprime[i-4]) || isprime[i+4]) c++;
        	if((i-6 >= 0 && isprime[i-6]) || isprime[i+6]) s++;
		}
    }

    cout << t << endl << c << endl << s;

    return 0;
}