Cod sursa(job #2243000)

Utilizator NeredesinI 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;
}