Cod sursa(job #2265728)

Utilizator stefantagaTaga Stefan stefantaga Data 21 octombrie 2018 16:51:04
Problema Sandokan Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#define MOD  2000003
using namespace std;
ifstream f("sandokan.in");
ofstream g("sandokan.out");
long long n,k,rest,p,i,r0,r1,x0,x1,r,q,x;
int main()
{
    f>>n>>k;
    rest=n%(k-1);
    if (rest==0)
    {
        rest=k-1;
    }
    rest--;
    n--;
    p=1;
    for (i=n-rest+1;i<=n;i++)
    {
        p=(p*i)%MOD;
    }
    if (rest==0)
    {
        g<<"1";
        return 0;
    }
    r0=MOD;
    r1=rest;
    x0=0;
    x1=1;
    while (x1!=0)
    {
        r=r0%r1;
        q=r0/r1;
        x=x0-q*x1;
        r0=r1;
        r1=r;
        x0=x1;
        x1=x;
    }
    if (x0<0)x0+=MOD;
    x0=(x0*p)%MOD;
    g<<x0;
    return 0;
}