Cod sursa(job #2217029)

Utilizator PetyAlexandru Peticaru Pety Data 28 iunie 2018 17:30:13
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 5000000;
int n, sol, f2[NMAX + 2], f3[NMAX + 2], f5[NMAX + 2], d, c2, c3, c5, nr2, nr3, nr5, i;

int main()
{
  fin >> n >> d;
  for (i = 1; i <= n; i++) {
    if (i % 2 == 0)
      f2[i] = f2[i / 2] + 1;
    if (i % 3 == 0)
      f3[i] = f3[i / 3] + 1;
    if (i % 5 == 0)
      f5[i] = f5[i / 5] + 1;
  }
  if (d % 2 == 0)
    c2++;
  if (d % 3 == 0)
    c3++;
  if (d % 5 == 0)
    c5++;
  if (d % 4 == 0)
    c2++;
  for (i = 1; i <= n; i++) {
    nr2 += -f2[i] + f2[n - i + 1];
    nr3 += -f3[i] + f3[n - i + 1];
    nr5 += -f5[i] + f5[n - i + 1];
    if (nr2 >= c2 && nr3 >= c3 && nr5 >= c5)
      sol++;
  }
  fout << sol;
  return 0;
}