Cod sursa(job #3315090)

Utilizator Alexia12345Maftei Alexia Alexia12345 Data 12 octombrie 2025 12:41:56
Problema Sandokan Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#define MOD 2000003
using namespace std;

ifstream fin("sandokan.in");
ofstream fout("sandokan.out");

int n,k,s[5003],x;
long long p[5003],maxi;

int putere(long long a, long long b)
{
    long long rez=1;
    while(b)
    {
        if(b%2==0)
            rez=rez*a%MOD;
        b/=2;
        a=a*a%MOD;
    }
    return rez;
}
int invmod(long long a)
{
    return putere(a,MOD-2);
}
void precalc()
{
    p[0]=p[1]=1;
    for(int i=2;i<=maxi;i++)
        p[i]=p[i-1]*i%MOD;
}
int C(int n,int k)
{
    return (p[n]*invmod(p[k])*invmod(p[n-k])%MOD);
}

int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>s[i];
        if(s[i]>maxi)
            maxi=s[i];
    }
    precalc();
    long long rez;
    x=(n-1)%(k-1)+1;
    rez=C(n-1,x-1)%MOD;
    fout<<rez;
    return 0;
}