Submission
Status:
(PPPP)(PPP)(TSS)
Subtask/Task Score:
{40/40}{30/30}{0/30}
Score: 70
User: nate213121
Problemset: Twin, Cousin, and Sexy Prime
Language: cpp
Time: 1.077 second
Submitted On: 2026-09-19 11:27:08
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n)
{
if(n <= 0)
{
return false;
}
if(n == 1)
{
return false;
}
if(n == 2)
{
return true;
}
bool out = true;
for(int i = 2; i <= ceil(sqrt((double)(n))); i++)
{
if(n % i == 0)
{
out = false;
break;
}
}
return out;
}
int main()
{
int l, h;
cin >> l >> h;
vector<int> primes;
vector<bool> primeCheck(70000001, false);
for(int n = l - 6; n <= h + 6; n++)
{
if(n <= 70000000 && n >= 0 && isPrime(n))
{
primes.push_back(n);
primeCheck[n] = true;
}
}
int two = 0, four = 0, six = 0;
for(int diff = 2; diff <= 6; diff += 2)
{
//cout << "Diff = " << diff << ": ";
for(auto& p:primes)
{
if(p >= l && p <= h && ((p - diff >= 0 && primeCheck[p - diff]) || (p + diff <= 70000000 && primeCheck[p + diff])))
{
//cout << p << ", ";
if(diff == 2)
{
two += 1;
}
else if(diff == 4)
{
four += 1;
}
else
{
six += 1;
}
}
}
//cout << endl;
}
cout << two << endl << four << endl << six;
return 0;
}