Submission #3418619


Source Code Expand

#include <bits/stdc++.h>

typedef long long LL;

#define FOR(i, a, b) for (int i = (a), i##_END_ = (b); i <= i##_END_; i++)
#define DNF(i, a, b) for (int i = (a), i##_END_ = (b); i >= i##_END_; i--)

template <typename Tp> void in(Tp &x) {
	char ch = getchar(), f = 1; x = 0;
	while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();
	if (ch == '-') ch = getchar(), f = -1;
	while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
	x *= f;
}

template <typename Tp> void out(Tp x) {
	if (x > 9) out(x / 10);
	putchar(x % 10 + '0');
	return;
}

template <typename Tp> Tp Max(const Tp &x, const Tp &y) {return x > y ? x : y;}
template <typename Tp> Tp Min(const Tp &x, const Tp &y) {return x < y ? x : y;}
template <typename Tp> bool chkmax(Tp &x, Tp y) {return x >= y ? 0 : (x=y, 1);}
template <typename Tp> bool chkmin(Tp &x, Tp y) {return x <= y ? 0 : (x=y, 1);}

const int MAXN = 200010;
const int Limit = 200000;
const int MOD = 1000000007;

int H, W;
int fac[MAXN], inv[MAXN];

int power(int x, int y)
{
	int ret = 1;
	while (y) {
		if (y & 1) ret = 1ll * ret * x % MOD;
		x = 1ll * x * x % MOD;
		y >>= 1;
	}
	return ret;
}

int C(int x, int y)
{
	if (x < y) return 0;
	return fac[x] * 1ll * inv[y] % MOD * inv[x - y] % MOD;
}

int main()
{
	fac[0] = 1;
	FOR(i, 1, Limit) fac[i] = 1ll * fac[i - 1] * i % MOD;

	inv[Limit] = power(fac[Limit], MOD - 2);
	DNF(i, Limit - 1, 0) inv[i] = 1ll * inv[i + 1] * (i + 1) % MOD;

	in(H); in(W);
	int A, B; in(A); in(B);

	A = H - A + 1;

	int ans = 0;
	FOR(i, 1, A - 1)
		ans = (ans + C(B - 1 + i - 1, i - 1) * 1ll * C(H - i + W - B - 1, H - i)) % MOD;

	printf("%d\n", ans);
	
	return 0;
}

Submission Info

Submission Time
Task C - Iroha's Obsession
User Cmozer
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1720 Byte
Status WA
Exec Time 2103 ms
Memory 1792 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status AC
AC × 1
WA × 8
TLE × 1
Set Name Test Cases
Sample
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_X_01.txt, subtask1_X_02.txt, subtask1_X_03.txt, subtask1_X_04.txt, subtask1_X_05.txt, subtask1_X_06.txt, subtask1_X_07.txt, subtask1_X_08.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt WA 4 ms 1792 KB
subtask0_sample_02.txt TLE 2103 ms 1792 KB
subtask1_X_01.txt WA 4 ms 1792 KB
subtask1_X_02.txt WA 4 ms 1792 KB
subtask1_X_03.txt WA 4 ms 1792 KB
subtask1_X_04.txt WA 4 ms 1792 KB
subtask1_X_05.txt AC 4 ms 1792 KB
subtask1_X_06.txt WA 4 ms 1792 KB
subtask1_X_07.txt WA 4 ms 1792 KB
subtask1_X_08.txt WA 4 ms 1792 KB