Cod sursa(job #2457062)

Utilizator cristina-criCristina cristina-cri Data 16 septembrie 2019 15:43:28
Problema Pascal Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <cstdio>
using namespace std;

int n;

int d, sum2[5000001], sum3[5000001], sum5[5000001], nr, sus2, sus3, sus5;

int main()

{

    freopen("pascal.in", "r", stdin);
    freopen("pascal.out", "w", stdout);

    scanf("%d %d", &n, &d);

    for(int i=1; i<=n; i++)
    {
        if(i%2 == 0)
            sum2[i]=1+sum2[i/2];
        if(i%3 == 0)
            sum3[i]=1+sum3[i/3];
        if(i%5 == 0)
            sum5[i]=1+sum5[i/5];
    }

    for(int i=1; i<n; i++)
    {
        sus2+=sum2[n-i+1]-sum2[i];
        sus3+=sum3[n-i+1]-sum3[i];
        sus5+=sum5[n-i+1]-sum5[i];

        if(d == 2)
        {
            if(sus2>0)
                nr++;
            continue;
        }
        if(d == 3)
        {
            if(sus3>0)
                nr++;
            continue;
        }
        if(d == 4)
        {
            if(sus2>=2)
                nr++;
            continue;
        }
        if(d == 5)
        {
            if(sus5>0)
                nr++;
            continue;
        }
        if(d == 6)
        {
            if(sus2>0 && sus3>0)
                nr++;
            continue;
        }
    }
    printf("%d", nr);
    return 0;

}