Cod sursa(job #2940915)

Utilizator cattyAninisCatrinel catty Data 16 noiembrie 2022 19:11:57
Problema Pascal Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream cin("pascal.in");
ofstream cout("pascal.out");
int n,i,d[5000002],t[5000002],c[5000002],q2,q3,q5,nr;
short dv;
int main()
{
    cin>>n>>dv;
    for(i=2; i<=n; i+=2)
        d[i]=d[i/2]+1;
    for(i=3; i<=n; i+=3)
        t[i]=t[i/3]+1;
    for(i=5; i<=n; i+=5)
        c[i]=c[i/5]+1;
    for(i=2; i<=n; ++i)
        d[i]+=d[i-1],t[i]+=t[i-1],c[i]+=c[i-1];
    for(i=0; i<=n; ++i)
    {
        q2=d[n]-d[i]-d[n-i],q3=t[n]-t[i]-t[n-i],q5=c[n]-c[i]-c[n-i];
        if(dv==2 && q2)
            ++nr;
        else if(dv==3 && q3)
            ++nr;
        else if(dv==5 && q5)
            ++nr;
        else if(dv==4 && q5>=2)
            ++nr;
        else if(dv==6 && q2>=1 && q3>=1)
            ++nr;
    }
    cout<<nr;
}