Cod sursa(job #2454586)

Utilizator ElizaTElla Rose ElizaT Data 9 septembrie 2019 14:05:07
Problema Pascal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;

int v2[5000010],v3[5000010],v5[5000010];

int main() {
    ifstream fin("pascal.in");
    ofstream fout("pascal.out");
    int n,d,ans = 0,p2,p3,p5;
    fin >> n >> d;
    for(int i = 1;i <= n;i++) {
        if(i % 2 == 0)
            v2[i] = v2[i / 2] + 1;
        if(i % 3 == 0)
            v3[i] = v3[i / 3] + 1;
        if(i % 5 == 0)
            v5[i] = v5[i / 5] + 1;
    }
    for(int i = 1;i < n;i++) {
        p2 += v2[n - i + 1] - v2[i];
        p3 += v3[n - i + 1] - v3[i];
        p5 += v5[n - i + 1] - v5[i];
        if(d == 2 && p2 > 0)
            ans++;
        if(d == 3 && p3 > 0)
            ans++;
        if(d == 4 && p2 > 1)
            ans++;
        if(d == 5 && p5 > 0)
            ans++;
        if(d == 6 && p2 > 0 && p3 > 0)
            ans++;
    }
    fout << ans;
    return 0;
}