Cod sursa(job #174738)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 9 aprilie 2008 10:50:13
Problema Sandokan Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <cstdio>
#include <vector>
#define mod 2000003

using namespace std;

vector <int> v;
int n,k,p;

void citire()
{
    freopen("sandokan.in","r",stdin);
    scanf("%d%d", &n, &k);
    int w;
    for (int i=0; i<n; i++)
    {
        scanf("%d", &w);
        v.push_back(w);
    }
}

void sandokan()
{
    //sort(q.begin(),q.end());
    p=n%(k-1);
    long long a,b,c;
    a=b=c=1;
    long long w=1;
    for (int i=2; i<n; i++)
    {
        w*=(long long)i;
        if (i==n-1)
            a=w;
        if (i==n-p)
            c=w;
        if (i==p-1)
            b=w;
    }
    a%=mod;
    b%=mod;
    c%=mod;
    long long rez=a/((b*c)%mod);
    rez%=mod;
    freopen("sandokan.out","w",stdout);
    printf("%lld",rez);
}

int main()
{
    citire();
    sandokan();
    return 0;
}