Cod sursa(job #1472824)

Utilizator dnprxDan Pracsiu dnprx Data 17 august 2015 20:08:13
Problema Grigo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
#define modulo 1000003

using namespace std;

int a[100005], n, k;

int main()
{
    int i, p;
    long long cnt;
    ifstream fin("grigo.in");
    fin >> n >> k;
    for (i = 1; i <= n; ++i)
        fin >> a[i];
    a[n + 1] = 200000;
    fin.close();

    /// cnt[i] = numarul de posibilitati de a aranja
    /// intr-o permutare valida numerele 1..i
    cnt = 1;
    p = 1;
    for (i = 1; i <= n; ++i)
        if (i == a[p]) p++;
        else
            cnt = (cnt * (i - 1)) % modulo;

    ofstream fout("grigo.out");
    fout << cnt << "\n";
    fout.close();

    return 0;
}