Cod sursa(job #1472821)

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

using namespace std;

int a[100005], n, k;

int main()
{
    int i, cnt, p;
    ifstream fin("grigo.in");
    fin >> n >> k;
    for (i = 1; i <= n; ++i)
        fin >> a[i];
    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 (a[i] == p) p++;
        else
        {
            cnt = (1LL * (i - 1) * cnt) % modulo;
        }

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

    return 0;
}