Cod sursa(job #1994701)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 25 iunie 2017 17:39:41
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream fi("pascal.in");
ofstream fo("pascal.out");
int v2[5000002],v3[5000002],v5[5000002],r,d,sol,i,nr,S;
int main()
{

fi>>r>>d;

  for (i=1; i<=r; 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;
        }

  for (i=1; i<=r; i++)
       {

            v2[i]+=v2[i-1];
            v3[i]+=v3[i-1];
            v5[i]+=v5[i-1];
        }

int rr=r/2;
for (i=0; i<=rr; i++)
    { sol=0;
        if (d==2 ) if (v2[r]-v2[r-i]-v2[i]>0) sol++;
        if (d==3 ) if (v3[r]-v3[r-i]-v3[i]>0) sol++;
        if (d==4 ) if (v2[r]-v2[r-i]-v2[i]>1) sol++;
        if (d==5 ) if (v5[r]-v5[r-i]-v5[i]>0) sol++;
        if (d==6 ) if( v2[r]-v2[r-i]-v2[i]>0 && v3[r]-v3[r-i]-v3[i]>0) sol++;
     if(sol)  if(r%2==0 and i==r/2) S++;
       else S+=2;
    }
fo<<S;
    return 0;
}