Cod sursa(job #3233330)

Utilizator MirceaDonciuLicentaLicenta Mircea Donciu MirceaDonciuLicenta Data 2 iunie 2024 23:32:00
Problema Dtcsu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <string>

using namespace std;

// Function to check if N can be expressed as 2^a * 3^b * 5^c * 7^d * 11^e
bool isValidNumber(long long N) {
    if (N == 0) return false;

    vector<int> primes = {2, 3, 5, 7, 11};
    for (int prime : primes) {
        while (N % prime == 0) {
            N /= prime;
        }
    }
    return N == 1;
}

int main() {
    ifstream infile("dtcsu.in");
    ofstream outfile("dtcsu.out");

    string line;
    // Read the first 276997 lines with valid numbers, ignore them
    for (int i = 0; i < 276997; ++i) {
        getline(infile, line);
    }

    // Read the number of queries Q
    getline(infile, line);
    int Q = stoi(line);

    int countValid = 0;
    // Process each query
    for (int i = 0; i < Q; ++i) {
        getline(infile, line);
        long long query = stoll(line);
        if (isValidNumber(query)) {
            countValid++;
        }
    }

    outfile << countValid << endl;

    infile.close();
    outfile.close();

    return 0;
}