Cod sursa(job #2267862)

Utilizator Alex03Runcan Alexandru Alex03 Data 24 octombrie 2018 09:21:03
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 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;
}