Cod sursa(job #2274284)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 1 noiembrie 2018 17:13:56
Problema 1-sir Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("1-sir.in");
ofstream out("1-sir.out");
const int MOD=194767;
int lgput(long long n,int k)
{
 long long rez=1;
 while(k)
 {
  if(k%2)
  rez=(long long)(rez*n)%MOD;
  n=(long long)(n*n)%MOD;
  k/=2;
 }
 return rez;
}
int invmod(int val)
{
 long long rez=1,i;
 for(i=1;i<=val;i++)
 rez=(long long)(rez*lgput(i,MOD-2))%MOD;
 return rez;
}
int combinari(int n,int k)
{
 int rez=1,i;
 for(i=1;i<=n;i++)
 rez=(rez*i)%MOD;
 return (long long)(rez*invmod(k)*invmod(n-k))%MOD;
}
int main()
{
    int n,k;
    in>>n>>k;
    if(fabs(k)>n||(n+k)%2)
     out<<0;
    else
     out<<combinari(n,(n+k)/2);
    return 0;
}