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
|
|
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 |