Submission
Status:
(PPPP)(TSS)(SSS)
Subtask/Task Score:
{40/40}{0/30}{0/30}
Score: 40
User: letdown
Problemset: Twin, Cousin, and Sexy Prime
Language: cpp
Time: 1.093 second
Submitted On: 2025-10-12 11:25:55
#include <iostream>
#include <set>
#include <vector>
using namespace std;
bool isPrime(long long n) {
if (n < 2) return false;
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
bool checkPrime(long long n, vector<long long>p) {
for (auto i : p) if (n == i) return true;
return false;
}
int main() {
long long l, u, n;
cin >> l >> u;
vector<long long> primes;
vector<long long> primesForCheck;
for (long long i = l-6; i <= u+6; i++) {
if (isPrime(i)) {
primesForCheck.push_back(i);
if (i >= l && i <= u) primes.push_back(i);
}
}
set<long long> tw, cz, sx;
for (int i = 0; i < primes.size(); i++) {
if (checkPrime(primes[i]+2, primesForCheck) || checkPrime(primes[i]-2, primesForCheck)) tw.insert(primes[i]);
if (checkPrime(primes[i]+4, primesForCheck) || checkPrime(primes[i]-4, primesForCheck)) cz.insert(primes[i]);
if (checkPrime(primes[i]+6, primesForCheck) || checkPrime(primes[i]-6, primesForCheck)) sx.insert(primes[i]);
}
cout << tw.size() << "\n" << cz.size() << "\n" << sx.size();
}