222322026-01-14 18:18:05algoproJáték (50 pont)cpp17Elfogadva 50/508ms2476 KiB
// UUID: 345b1b9d-e563-475b-9b04-97f921486afc
#include <bits/stdc++.h>
using namespace std;

#define int int64_t

int p(int a , int b , int m){
	int x = 1;
	for(int i = 0; i < 30; i++){
		if((1<<i)&b){
			x*=a;
			x%=m;
		}
		a*=a;
		a%=m;
	}
	return x;
}

int M = 1e9+7;

vector<int> f;

int32_t main() {
	int b , c;cin >> b >> c;
	f.push_back(1);
	for(int i = 1; i <= 2*c; i++){
		f.push_back((f.back()*i)%M);
	}
	int d = (f[c-1+c-b]*p((f[c-1]*f[c-b])%M , M-2 , M))%M;
	int e = (f[c-1+c-b]*p((f[c]*f[c-b-1])%M , M-2 , M))%M;
	cout << (d-e+M*3)%M << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva3/31ms508 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/32ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms564 KiB
12Elfogadva3/32ms732 KiB
13Elfogadva3/33ms944 KiB
14Elfogadva3/37ms2468 KiB
15Elfogadva3/34ms1452 KiB
16Elfogadva3/38ms2472 KiB
17Elfogadva3/34ms1452 KiB
18Elfogadva3/38ms2392 KiB
19Elfogadva3/37ms2476 KiB