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.004 second
Submitted On: 2026-10-12 10:08:01
#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(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(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;
}