Cod sursa(job #2694093)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 7 ianuarie 2021 23:43:41
Problema Pascal Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("pascal.in");
ofstream fout("pascal.out");

vector <int> v, fr(2);

int descompune(int n, vector <int> &fr, int aux){
    for (int i = 0; i < v.size(); ++i){
        int x = v[i];
        while (x <= n){
            fr[i] += (n / x) * aux;
            x = x * x;
        }
    }
}

int main(){
    int r, d, ans = 0;
    fin >> r >> d;
    if (d == 4) v = {2};
    else if (d == 6) v = {2, 3};
    else v = {d};
    descompune(r, fr, 1);
    for (int j = 0; j <= r; ++j){
        vector <int> fr2(2), fr3(2);
        if (v.size() == 2){
            if (fr[0] + fr2[0] + fr3[0] > 0 && fr[1] + fr2[1] + fr3[1] > 0){
                ++ans;
            }
        }
        else{
            int idk = 0;
            if (d == 4) idk = 1;
            if (fr[0] + fr2[0] + fr3[0] > idk){
                ++ans;
            }
        }
    }
    fout << ans;
    fin.close();
    fout.close();
    return 0;
}