Cod sursa(job #1497810)

Utilizator MrTudorTudor Savulescu MrTudor Data 7 octombrie 2015 14:18:54
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
#define NMAX 5000005
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int s,r,d,p2,p3,p5,v2[NMAX],v3[NMAX],v5[NMAX];
int main()
{
    int i;
    fin>>r>>d;
    for (i=2;i<=r;++i)
    {
        if (i%2==0) v2[i]=1+v2[i/2];
        if (i%3==0) v3[i]=1+v3[i/3];
        if (i%5==0) v5[i]=1+v5[i/5];
    }
    for (i=1;i<r;++i)
    {
        p2+=v2[r-i+1]-v2[i];
        p3+=v3[r-i+1]-v3[i];
        p5+=v5[r-i+1]-v5[i];
        switch (d)
        {
            case 2: if (p2>0) ++s; break;
            case 3: if (p3>0) ++s; break;
            case 4: if (p2>1) ++s; break;
            case 5: if (p5>0) ++s; break;
            case 6: if (p2>0 && p3>0) ++s; break;
        }
    }
    fout<<s<<"\n";
    return 0;
}