Cod sursa(job #993160)
| Utilizator | Data | 3 septembrie 2013 13:49:55 | |
|---|---|---|---|
| Problema | Grigo | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<fstream>
#define MOD 1000003
using namespace std;
int n,m,nr[100100];
bool viz[100100];
int main()
{
int i,x;
ifstream fin("grigo.in");
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x;
viz[x]=true;
}
nr[1]=1;
for(i=2;i<=n;i++)
{
if(viz[i])
nr[i]=nr[i-1];
else
nr[i]=(1LL*(i-1)*nr[i-1])%MOD;
}
ofstream fout("grigo.out");
fout<<nr[n]<<"\n";
fout.close();
return 0;
}
