Cod sursa(job #2243000)
Utilizator | I am not real Neredesin | Data | 19 septembrie 2018 20:00:45 |
---|---|---|---|
Problema | Sortari2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sortari2.in");
ofstream out("sortari2.out");
const int NMAX = 1e3 + 5;
const int MOD = 999017;
int n;
int res = 1;
int v[1 + NMAX];
int s[1 + NMAX];
int main()
{
in >> n;
v[1] = 1;
s[1] = 1;
for(int i = 2; i <= n; i++) {
v[i] = (v[i - 1] + s[i - 1]) % MOD;
s[i] = (v[i] + s[i - 1]) % MOD;
res = (res * i) % MOD;
}
res -= v[n];
if(res < 0)
res += MOD;
out << res << '\n';
in.close();
out.close();
return 0;
}