Cod sursa(job #454409)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 11 mai 2010 23:09:24
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>

int n,r,sol;
int exp[3][5000006];

int main ()
{
	int i;
	freopen("pascal.in","r",stdin);
	freopen("pascal.out","w",stdout);
	scanf("%d%d",&n,&r);
	for(i=2;i<=n;i++)
		exp[0][i]=i/2+exp[0][i/2];
	for(i=3;i<=n;i++)
		exp[1][i]=i/2+exp[1][i/3]+1;
	for(i=5;i<=n;i++)
		exp[2][i]=i/5+exp[2][i/5]+1;
	for(i=0;i<=n;i++)
	{
		if(r==2)
		{
			if(exp[0][n]>exp[0][i]+exp[0][n-i])
				sol++;
			continue;
		}
		if(r==4)
		{
			if(exp[0][n]>exp[0][i]+exp[0][n-i]+1)
				sol++;
			continue;
		}
		if(r==3)
		{
			if(exp[1][n]>exp[1][i]+exp[1][n-i])
				sol++;
			continue;
		}
		if(r==5)
		{
			if(exp[2][n]>exp[2][i]+exp[2][n-i])
				sol++;
			continue;
		}
		if(exp[0][n]>exp[0][i]+exp[0][n-i] && exp[1][n]>exp[1][i]+exp[1][n-i])
			sol++;
	}	
	printf("%d\n",sol);
	return 0;
}