Cod sursa(job #2542120)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 9 februarie 2020 15:26:53
Problema 12-Perm Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("12perm.in");
ofstream fout("12perm.out");

const int mod = 194767;

main()
{
	int n;
	fin >> n;
	
	if(n == 1)
	{
		fout << 1 << '\n';
	}
	else
	{
		if(n == 2)
		{
			fout << 2 << '\n';
		}
		else
			if(n == 3)
			{
				fout << 6 << '\n';
			}
			else
			{
				if(n == 4)
				{
					fout << 12 << '\n';
				}
				else
				{
					int p1 = 2;
					int p2 = 6;
					int p3 = 12;
					
					for(int i = 5; i <= n; i++)
					{
						int aux = p3 + p1 + 2 * (i - 2);
						
						aux &= ((1 << 20) - 1);
						
						p1 = p2;
						p2 = p3;
						p3 = aux;
					}
					
					fout << p3 << '\n';
				}
			}
	}
}