Submission

Status:

(-SSS)(SSS)(SSS)

Subtask/Task Score:

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

Score: 0

User: Bestzu

Problemset: Twin, Cousin, and Sexy Prime

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-16 16:38:57

#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;

const int N = 70000001;
vector<bool> isprime(N, true);

void sieve(int r) {
    isprime[0] = isprime[1] = false;
    for(int i = 2; i * i <= r; i++) {
        if(isprime[i]) {
            for(ll j = 1LL * i * i; j <= r; j += i) {
                isprime[j] = false;
            }
        }
    }
}

int main() {
    ios::sync_with_stdio(false); cin.tie(0);
    
    int l, r; 
    cin >> l >> r;
    sieve(r);

    int twin = 0, cousin = 0, sexy = 0;

    for(int i = l; i <= r; i++) {
        if(isprime[i]) {
        	cout << "i = " << i << endl;
            if(i + 2 <= r && isprime[i+2]) {
            	cout << "i + 2 = " << i + 2 << endl;
                twin += 2;
            }
            if(i + 4 <= r && isprime[i+4]) {
                cout << "i + 4 = " << i + 4 << endl;
				cousin += 2;
            }
            if(i + 6 <= r && isprime[i+6]) {
                cout << "i + 6 = " << i + 6 << endl;
				sexy += 2;
            }
        }
    }

    cout << twin << endl << cousin << endl << sexy << endl;
    return 0;
}