Cod sursa(job #542381)

Utilizator blastoiseZ.Z.Daniel blastoise Data 26 februarie 2011 12:51:06
Problema Sortari2 Scor 40
Compilator cpp Status done
Runda Romanian Master in Mathematics and Sciences 2011, Ziua 2 Marime 0.41 kb
#include <stdio.h>
#define MOD 999017

long long nr;
int N,i,sol[1111];

int main()
{
	freopen("sortari2.in","r",stdin);
	freopen("sortari2.out","w",stdout);

	scanf("%d",&N);

	if(N>100) N=100;

	sol[1]=1;
	sol[2]=2;

	for(i=3;i<=N;i++)
		sol[i]=(3*sol[i-1]+MOD-sol[i-2])%MOD;

	nr=1;
	for(i=2;i<=N;i++)
		nr=(nr*i)%MOD;

	nr=(nr+MOD-sol[N])%MOD;

	printf("%lld\n",nr);

	return 0;
}