Cod sursa(job #940982)

Utilizator alex_unixPetenchea Alexandru alex_unix Data 17 aprilie 2013 17:46:24
Problema Sortari2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb

#include <cstdio>

const int MOD(999017);

int n, result;

inline void read (void)
{
	std::freopen("sortari2.in","r",stdin);
	std::scanf("%d",&n);
	std::fclose(stdin);
}

inline void print (void)
{
	std::freopen("sortari2.out","w",stdout);
	std::printf("%d\n",result);
	std::fclose(stdout);
}

inline void compute (void)
{
	result = 1;
	for (int i(1) ; i <= n ; result %= MOD, ++i)
		result *= i;
	n = (n << 1) - 1;
	int a(1), b(1), c(2);
	for (int i(3) ; i <= n ; ++i)
	{
		c = a + b;
		a = b;
		b = c;
		c %= MOD;
	}
	result -= c;
	if (result < 0)
		result += MOD;
}

int main (void)
{
	read();
	compute();
	print();
	return 0;
}