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;
}