Submission

Status:

(PPPP)(PPP)(PPP)

Subtask/Task Score:

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

Score: 100

User: mumumimi

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.753 second

Submitted On: 2026-10-12 12:02:43

#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<bool> sieve(ll n){
    vector<bool> prime(n+1,true);
    prime[0] = false;
    prime[1] = false;
    for(int i=2;i*i<=n;i++){
        for(int j=i*i;j<=n;j+=i){
            prime[j]=false;
        }
    }
    return prime;
}
int main(){
    int l,u;
    cin >> l >> u;
    vector<bool> prime = sieve(u+6);
    int twin=0,couple=0,sexy=0;
    for(int i=l;i<=u;i++){
        if(!prime[i]) continue;
        bool tw =false,co=false,se=false;
        if(prime[i-2]||prime[i+2]) tw=true;
        if(prime[i-4]||prime[i+4]) co=true;
        if(prime[i-6]||prime[i+6]) se=true;
        if(tw) twin++;
        if(co) couple++;
        if(se) sexy++;
    }
    cout << twin << '\n' << couple << '\n' << sexy;
}