Cod sursa(job #3000794)

Utilizator DesqucuDesq Stef Desqucu Data 12 martie 2023 21:02:59
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
const int N=5000005;
int d2[N],d3[N],d5[N],n,k,i,sol;
int main()
{
    in>>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=1;i<=n+1;i++)
    {
        d2[i]=d2[i-1]+d2[i];
        d3[i]=d3[i-1]+d3[i];
        d5[i]=d5[i-1]+d5[i];
    }
    for(i=0;i<=n;i++)
    {
        if(k==2)
        {
            if(d2[n]-d2[n-i]-d2[i]>0)
                sol++;
        }
        if(k==3)
        {
            if(d3[n]-d3[n-i]-d3[i]>0)
                sol++;
        }
        if(k==5)
        {
            if(d5[n]-d5[n-i]-d5[i]>0)
                sol++;
        }
        if(k==4)
        {
            if(d2[n]-d2[n-i]-d2[i]>1)
                sol++;
        }
        if(k==6)
        {
            if(d2[n]-d2[n-i]-d2[i]>0&&d3[n]-d3[n-i]-d3[i]>0)
                sol++;
        }
    }
    out<<sol;
    return 0;
}