Cod sursa(job #421077)
Utilizator | Data | 21 martie 2010 02:41:41 | |
---|---|---|---|
Problema | Grigo | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
#include <bitset>
using namespace std;
#define mod 1000003
int N,M,p[100002],i,a;
bitset<100002> x;
ifstream f("grigo.in");
ofstream g("grigo.out");
int main ()
{
f >> N >> M;
for( i = 1; i <= M; i++)
f >> a, x[a] = 1;
for( i = 1; i <= N; i++)
if( x[i] ) p[i] = (i==1) ? 1 : p[i-1];
else p[i]=( p[i-1] * (i-1) * 1LL ) % mod;
g << p[N];
return 0;
}