Submission

Status:

(PPPP)(PPP)(PPP)

Subtask/Task Score:

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

Score: 100

User: angpangSK

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.330 second

Submitted On: 2025-09-26 09:09:25

#include <bits/stdc++.h>
using namespace std;

int main() {
    long long n, m;
    cin >> n >> m;

    long long limit = m + 6;
    vector<bool> isPrime(limit + 1, true);
    isPrime[0] = isPrime[1] = false;

    for (long long i = 2; i * i <= limit; i++) {
        if (isPrime[i]) {
            for (long long j = i * i; j <= limit; j += i)
                isPrime[j] = false;
        }
    }

    long long twinprime = 0;
    long long cousinprime = 0;
    long long sexyprime = 0;

    for (long long i = n; i <= m; i++) {
        if (!isPrime[i]) continue;
        else if (isPrime[i + 2]) twinprime++;
        else if (isPrime[i - 2]) twinprime++;
        if (isPrime[i + 4]) cousinprime++;
        else if (isPrime[i - 4]) cousinprime++;
        if (isPrime[i + 6]) sexyprime++;
        else if (isPrime[i - 6]) sexyprime++;
    }

    cout << twinprime << endl;
    cout << cousinprime << endl;
    cout << sexyprime << endl;

    return 0;
}