Pagini recente » Monitorul de evaluare | Borderou de evaluare (job #2478197) | Cod sursa (job #277301) | Monitorul de evaluare | Cod sursa (job #3328892)
#include <fstream>
using namespace std;
ifstream cin ("sandokan.in");
ofstream cout ("sandokan.out");
using namespace std;
int mod = 2000003;
int ridicare(long long n, long long a)
{
long long rasp = 1;
while(n > 0)
{
if(n % 2 == 1)
{
rasp = (rasp * a) % mod;
rasp %= mod;
}
a *= a % mod;
a %= mod;
n /= 2;
}
return rasp % mod;
}
int main()
{
int n,k;
cin >>n>>k;
n--; k--;
k = n % k;
for (int i = 1; i <= n; i++)
{
int nr;
cin >>nr;
}
long long rasp = 1;
for (int i = 1; i <= n; i++)
{
rasp = (rasp * i) % mod;
}
for (int i = 1; i <= n - k; i++)
{
rasp = (rasp * i) % mod;
}
rasp = ridicare(rasp , mod - 2);
for (int i = 1; i <= n; i++)
{
rasp = (rasp * i) % mod;
}
cout <<"1";
return 0;
}