Cod sursa(job #543815)

Utilizator ChallengeMurtaza Alexandru Challenge Data 28 februarie 2011 17:16:12
Problema Sortari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;

const char InFile[]="sortari2.in";
const char OutFile[]="sortari2.out";
const int MOD=999017;

ifstream fin(InFile);
ofstream fout(OutFile);

int N,sol;

inline int F(int n)
{
	int f1=1;
	int f2=1;
	int f3;
	for(register int i=3;i<=n;++i)
	{
		f3=f1+f2;
		if(f3>=MOD)
		{
			f3-=MOD;
		}
		f1=f2;
		f2=f3;
	}
	return f2;
}

int main()
{
	fin>>N;
	fin.close();

	sol=1;
	for(register int i=2;i<=N;++i)
	{
		sol*=i;
		sol%=MOD;
	}
	sol-=F((N<<1)-1);
	if(sol<0)
	{
		sol+=MOD;
	}

	fout<<sol;
	fout.close();
	return 0;
}