Submission

Status:

(PPxS)(SSS)(SSS)

Subtask/Task Score:

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

Score: 0

User: SayRo

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-12 10:06:42

#include<bits/stdc++.h>
using namespace std;
#define ll long long
vector<bool> prime;
vector<int> p;

void solve(int l,int u){
    prime[0]=0;
    prime[1]=0;
    for(int i=2;i<=u+6;i++){
        if(prime[i]){
            if(i>=l-6) p.push_back(i);
            for(int j=i*i;j<=u+6;j+=i) prime[j]=false;
        }
    }
    return;
}

int main(){
    int l,u,twin=0,cousin=0,sexy=0;
    cin>>l>>u;
    prime.resize(u+7,true);
    solve(l,u);
    int sz=p.size();
    vector<bool> t(u+1,true);
    vector<bool> c(u+1,true);
    vector<bool> s(u+1,true);
    for(int i=0;i<p.size()-1;i++){
        for(int j=i+1;j<p.size();j++){
            if(p[j]-p[i]==2) t[i]=0,t[j]=0; 
            else if(p[j]-p[i]==4) c[i]=0,c[j]=0; 
            else if(p[j]-p[i]==6) s[i]=0,s[j]=0;
            else continue; 
        }
    }for(int i=0;i<sz;i++){
        if(!t[i]&&p[i]>=l&&p[i]<=u) twin++;
        if(!c[i]&&p[i]>=l&&p[i]<=u) cousin++;
        if(!s[i]&&p[i]>=l&&p[i]<=u) sexy++;
    }
    cout<<twin<<"\n"<<cousin<<"\n"<<sexy;
}