Cod sursa(job #1996446)

Utilizator MoleRatFuia Mihai MoleRat Data 1 iulie 2017 16:01:33
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int A1[5000002];
int A2[5000002];
int A3[5000002];
int r,d,sol,nr;
int rez;
int main()
{

    fin>>r>>d;
    for (int i=1; i<=r; i++)
    {
        if (i%2==0) A1[i]=A1[i/2]+1;
        if (i%3==0) A2[i]=A2[i/3]+1;
        if (i%5==0) A3[i]=A3[i/5]+1;
    }
    for (int i=1; i<=r; i++)
    {

        A1[i]+=A1[i-1];
        A2[i]+=A2[i-1];
        A3[i]+=A3[i-1];
    }
    int rr=r/2;
    for (int i=0; i<=rr; i++)
    {
        sol=0;
        if (d==2 ) if (A1[r]-A1[r-i]-A1[i]>0) sol++;
        if (d==3 ) if (A2[r]-A2[r-i]-A2[i]>0) sol++;
        if (d==4 ) if (A1[r]-A1[r-i]-A1[i]>1) sol++;
        if (d==5 ) if (A3[r]-A3[r-i]-A3[i]>0) sol++;
        if (d==6 ) if( A1[r]-A1[r-i]-A1[i]>0 && A2[r]-A2[r-i]-A2[i]>0) sol++;
        if(sol)  if(r%2==0 and i==r/2) rez++;
            else rez+=2;
    }
    fout<<rez;
    return 0;
}