222332026-01-14 18:18:24TaxiradioJáték (50 pont)cpp17Elfogadva 50/508ms2600 KiB
#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/31ms564 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms400 KiB
9Elfogadva3/32ms556 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms568 KiB
12Elfogadva3/32ms624 KiB
13Elfogadva3/32ms988 KiB
14Elfogadva3/37ms2468 KiB
15Elfogadva3/34ms1452 KiB
16Elfogadva3/38ms2468 KiB
17Elfogadva3/34ms1452 KiB
18Elfogadva3/37ms2600 KiB
19Elfogadva3/38ms2544 KiB