Cod sursa(job #1931650)

Utilizator ApostolIlieDanielApostol Daniel ApostolIlieDaniel Data 19 martie 2017 14:15:59
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>

using namespace std;
int a[5000001],b[5000001],c[5000001];
int main()
{
  FILE *fin, *fout;
  int n,d,s1,s2,s3,rez, i;
  fin = fopen ("pascal.in", "r");
  fout = fopen ("pascal.out", "w");
  fscanf(fin, "%d%d", &n, &d);
  for(i=1; i<=n; i++)
  {
    if(i%2==0)
      a[i]=a[i/2]+1;
    if(i%3==0)
      b[i]=b[i/3]+1;
    if(i%5==0)
      c[i]=c[i/5]+1;
  }
  s1 = s2 = s3 = rez = 0;
  for(i=1; i<=n; i++)
  {
    s1+=a[n-i+1]-a[i];
    s2+=b[n-i+1]-b[i];
    s3+=c[n-i+1]-c[i];
    if(d==2 && s1>0)
      rez++;
    if(d==3 && s2>0)
      rez++;
    if(d==5 && s3>0)
      rez++;
    if(d==4 && s1>1)
      rez++;
    if(d==6 && s1>0 && s2>0)
      rez++;
  }
  fprintf (fout, "%d", rez);
  fclose(fin);
  fclose(fout);
  return 0;
}