Submission

Status:

(-SSS)(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.004 second

Submitted On: 2026-10-12 09:34:49

#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(ll i=2;i<=u+6;i++){
        if(prime[i]){
            if(i>=l-6) p.push_back(i);
            for(ll 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+1,true);
    solve(l,u);
    int sz=p.size();
    vector<bool> t(sz,true);
    vector<bool> c(sz,true);
    vector<bool> s(sz,true);
    for(int i=0;i<p.size()-1;i++){
        for(int j=i+1;j<p.size();j++){ 
            if(abs(p[i]-p[j])==2&&(t[i]||t[j])) (t[i]&&t[j]&&(p[i]>=l&&p[i]<=u)&&(p[j]>=l&&p[j]<=u)?twin+=2:((p[i]>=l&&p[i]<=u)||(p[j]>=l&&p[j]<=u)?twin++:twin)),t[i]=false,t[j]=false;
            else if(abs(p[i]-p[j])==4&&(c[i]||c[j])) (c[i]&&c[j]&&(p[i]>=l&&p[i]<=u)&&(p[j]>=l&&p[j]<=u)?cousin+=2:((p[i]>=l&&p[i]<=u)||(p[j]>=l&&p[j]<=u)?cousin++:cousin)),c[i]=false,c[j]=false;
            else if(abs(p[i]-p[j])==6&&(s[i]||s[j])) (s[i]&&s[j]&&(p[i]>=l&&p[i]<=u)&&(p[j]>=l&&p[j]<=u)?sexy+=2:((p[i]>=l&&p[i]<=u)||(p[j]>=l&&p[j]<=u)?sexy++:sexy)),s[i]=false,s[j]=false;
        }
    }
    cout<<twin<<"\n"<<cousin<<"\n"<<sexy;
}