Cod sursa(job #2270126)

Utilizator cicero23catalin viorel cicero23 Data 27 octombrie 2018 09:31:51
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#define Nmax 5000002
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int n,sol,f2[Nmax],f3[Nmax],f5[Nmax],d3,d2,d5,i,d,nr2,nr3,nr5;
int main()
{
    f>>n>>d;
    for(i=1;i<=n;i++)
    {
        if(i%2==0) f2[i]=f2[i/2]+1;
        if(i%3==0) f3[i]=f3[i/3]+1;
        if(i%5==0) f5[i]=f5[i/5]+1;
    }
    if(d%2==0) d2=1;
    if(d%3==0) d3=1;
    if(d%5==0)  d5=1;
    if(d%4==0) d2=2;
    for(i=1;i<=n;i++)
    {
        nr2+=f2[n-i+1]-f2[i];
        nr3+=f3[n-i+1]-f3[i];
        nr5+=f5[n-i+1]-f5[i];
        if (nr2 >= d2 && nr3 >= d3 && nr5 >= d5) sol++;
    }
    g<<sol;
    return 0;
}