Submission

Status:

(PPxS)(SSS)(SSS)

Subtask/Task Score:

{0/40}{0/30}{0/30}

Score: 0

User: konthaina_TH

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.012 second

Submitted On: 2026-09-26 14:33:03

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a,b;
    cin >> a >> b;
    set<int> twin_p;
    set<int> cousin_p;
    set<int> sexy_p;
    vector<bool>prime(100010,false);
    for (int i=2;i<=b*2;i++) {
        bool isPrime = true;
        for (int j=2;j * j <= i;j++) {
            if (i % j == 0) {
                isPrime = false;
            }
            if (!isPrime) break;
        }
        if (isPrime) {
            prime[i] = true;
        }
    }
    for (int i = a-6;i<=b;i++) {
        if (prime[i]) {
            if (prime[i+2]) {
                if (i >= a) {
                    twin_p.insert(i);
                }
                if (i+2 <= b and i+2 >= a) {
                    twin_p.insert(i+2);
                }
            }
            if (prime[i+4]) {
                if (i >= a) {
                    cousin_p.insert(i);
                }
                if (i+4 <= b and i + 4 >= a) {
                    cousin_p.insert(i+4);
                }
            }
            if (prime[i+6]) {
                if (i >= a) {
                    sexy_p.insert(i);
                }
                if (i + 6 <= b and i + 6 >= a) {
                    sexy_p.insert(i+6);
                }
            }
        }
    }
    cout << twin_p.size() << "\n";
    cout << cousin_p.size() << "\n";
    cout << sexy_p.size() << "\n";
    return 0;
}