Submission #3779962


Source Code Expand

// In the Name of God

#include <cstring>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <queue>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cassert>

using namespace std;

#define	ll long long
#define ull unsigned long long
#define ld long double
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define sz(a) int(a.size())
#define all(v) v.begin(), v.end()
#define bpc(v) __builtin_popcountll(v)
#define itr iterator
#define rep(i, a, b) for (int i = a; i <= b; ++i)
#define per(i, a, b) for (int i = a; i >= b; --i)
#define ub upper_bound
#define lb lower_bound

const int N = 2e5 + 5;
const ll mod = 1e9 + 7;
const int inf = 1e9 + 1;
const double eps = 1e-15;
const int pw = 257;

int h, w, a, b;
ll f[N], ans;

inline ll binpow(ll x, ll n) {
	ll res = 1;
	while (n) {
//		cerr << n << "\n";
		if (n % 2 == 1)
			res = (res * x) % mod;
		x = (x * x) % mod;
		n /= 2;
	}
	return res;
}

inline ll c(int n, int k) {
	return (((f[n] * binpow(f[k], mod - 2)) % mod) * binpow(f[n - k], mod - 2)) % mod;
}

int main() {
	#ifdef Madi
	freopen(".in", "r", stdin);
	freopen(".out", "w", stdout);
	#endif
	                                            	
	ios_base :: sync_with_stdio(false); cin.tie(NULL);

	f[0] = 1;
	rep(i, 1, 200000)
		f[i] = (f[i - 1] * i) % mod;

    cin >> h >> w >> a >> b;
    rep(i, b, w - 1)
    	ans = (((c(h - a - 1 + i, h - a - 1) * c(a - 1 + w - i - 1, a - 1)) % mod) + ans) % mod;

    cout << ans;

	#ifdef Madi
    cerr << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
    #endif
	return 0;
}

Submission Info

Submission Time
Task D - Iroha and a Grid
User Turysbek
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1886 Byte
Status AC
Exec Time 64 ms
Memory 1792 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 26
Set Name Test Cases
Sample subtask0_01.txt, subtask0_02.txt, subtask0_03.txt, subtask0_04.txt
All subtask0_01.txt, subtask0_02.txt, subtask0_03.txt, subtask0_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_max.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_max.txt
Case Name Status Exec Time Memory
subtask0_01.txt AC 3 ms 1792 KB
subtask0_02.txt AC 3 ms 1792 KB
subtask0_03.txt AC 3 ms 1792 KB
subtask0_04.txt AC 30 ms 1792 KB
subtask1_01.txt AC 3 ms 1792 KB
subtask1_02.txt AC 3 ms 1792 KB
subtask1_03.txt AC 3 ms 1792 KB
subtask1_04.txt AC 3 ms 1792 KB
subtask1_05.txt AC 3 ms 1792 KB
subtask1_06.txt AC 3 ms 1792 KB
subtask1_07.txt AC 3 ms 1792 KB
subtask1_08.txt AC 3 ms 1792 KB
subtask1_09.txt AC 3 ms 1792 KB
subtask1_10.txt AC 3 ms 1792 KB
subtask1_max.txt AC 3 ms 1792 KB
subtask2_01.txt AC 5 ms 1792 KB
subtask2_02.txt AC 3 ms 1792 KB
subtask2_03.txt AC 4 ms 1792 KB
subtask2_04.txt AC 6 ms 1792 KB
subtask2_05.txt AC 5 ms 1792 KB
subtask2_06.txt AC 63 ms 1792 KB
subtask2_07.txt AC 4 ms 1792 KB
subtask2_08.txt AC 38 ms 1792 KB
subtask2_09.txt AC 24 ms 1792 KB
subtask2_10.txt AC 64 ms 1792 KB
subtask2_max.txt AC 9 ms 1792 KB