Cod sursa(job #1221973)

Utilizator sebinechitasebi nechita sebinechita Data 21 august 2014 19:47:09
Problema Kperm Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
#define MOD 666013

int fact[5001];

int pow(int a, int p)
{
    int rez=1;
    while(p)
    {
        if(p&1)
            rez=(1LL*rez*a)%MOD;
        a=(1LL*a*a)%MOD;
        p>>=1;
    }
    return rez;
}

int main()
{
    int n, k, a, b, c, d, i, x;
    fin>>n>>k;
    a = n / k;
    b = n % k;
    if(b==0)
        c=a;
    else
        c=a+1;
    d=(k-n%k);

    cout<<a<<" "<<b<<" "<<c<<" "<<d<<"\n";
    fact[0]=1;
    for(i=1;i<=5000;i++)
        fact[i]=1LL*(fact[i-1]*i)%MOD;
    fout<<pow(fact[c], b)*fact[b]*pow(fact[a], d)*fact[d];
}