Cod sursa(job #545111)

Utilizator skullLepadat Mihai-Alexandru skull Data 2 martie 2011 18:37:10
Problema Sortari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>
using namespace std;
#define MOD 999017

int N, Res;

int getFib(int x)
{
	if (x <= 2)
		return 1;
	int f1 = 1, f2 = 1, f3;
	for (int i = 3; i <= x; ++i)
	{
		f3 = f1 + f2;
		if (f3 >= MOD) f3 -= MOD;
		f1 = f2; f2 = f3;
	}
	return f2;
}

int main()
{
	ifstream fin("sortari2.in");
	ofstream fout("sortari2.out");
	fin >> N;
	Res = 1;
	for (int i = 2; i <= N; ++i)
		Res = (Res * i) % MOD;
	Res -= getFib(2*N-1);
	if (Res < 0) Res += MOD;

	fout << Res;

	return 0;
}