Cod sursa(job #2811938)

Utilizator Danut200333Dumitru Daniel Danut200333 Data 3 decembrie 2021 17:37:19
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int d2[5000010],d3[5000010],d5[5000010],nr3,nr2,nr5,n,k,i,sol;
main()
{
    fin>>n>>k;
    for(i=2; i<=n; i+=2)d2[i]=d2[i/2]+1;
    for(i=3; i<=n; i+=3)d3[i]=d3[i/3]+1;
    for(i=5; i<=n; i+=5)d5[i]=d5[i/5]+1;
    for(i=2; i<=n; ++i)
    {
        d2[i]+=d2[i-1];
        d3[i]+=d3[i-1];
        d5[i]+=d5[i-1];
    }
    for(i=0; i<=n; ++i)
    {
        nr2=d2[n]-d2[i]-d2[n-i];
        nr3=d3[n]-d3[i]-d3[n-i];
        nr5=d5[n]-d5[i]-d5[n-i];
        if(k==2&&nr2)sol++;
        if(k==3&&nr3)sol++;
        if(k==4&&nr2>1)sol++;
        if(k==5&&nr5)sol++;
        if(k==6&&nr2&&nr3)sol++;
    }

    fout<<sol;
}