Cod sursa(job #2615434)

Utilizator georgecristian2002Raducanu George-Cristian georgecristian2002 Data 14 mai 2020 16:42:08
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.67 kb
#include<fstream>
using namespace std;

ifstream fin("pascal.in");
ofstream fout("pascal.out");

int n, d, nr, x, y;
char v2[5000001], v3[5000001], v5[5000001];


int main()
{

    ios::sync_with_stdio(false);
    fin>> n >> d;
    fin.close();
    for(int i = 1; i <= n; i++)
    {
        if(i % 2 == 0)
        {
            v2[i] = v2[i / 2] + 1;
        }
        if(i % 3 == 0)
        {
            v3[i] = v3[i / 3] + 1;
        }
        if(i % 5 == 0)
        {
            v5[i] = v5[i / 5] + 1;
        }
    }
    if(d == 2)
    {
        for(int i = 1; i <= n; i++)
        {
            x = x + v2[n - i + 1] - v2[i];
            if(x != 0)
            {
                nr++;
            }
        }
    }
    if(d == 3)
    {
        for(int i = 1; i <= n; i++)
        {
            x = x + v3[n - i + 1] - v3[i];
            if(x != 0)
            {
                nr++;
            }
        }
    }
    if(d == 4)
    {
        for(int i = 1; i <= n; i++)
        {
            x = x + v2[n - i + 1] - v2[i];
            if(x > 1)
            {
                nr++;
            }
        }
    }
    if(d == 5)
    {
        for(int i = 1; i <= n; i++)
        {
            x = x + v5[n - i + 1] - v5[i];
            if(x != 0)
            {
                nr++;
            }
        }
    }
    if(d == 6)
    {
        for(int i = 1; i <= n; i++)
        {
            x = x + v2[n - i + 1] - v2[i];
            y = y + v3[n - i + 1] - v3[i];
            if(x != 0 && y != 0)
            {
                nr++;
            }
        }
    }
    fout<< nr;
    fout.close();
    return 0;
}