Submission #3724319
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0; i<int(n); i++) #define FOR(i,m,n) for(int i=int(m); i<int(n); i++) #define ALL(obj) (obj).begin(),(obj).end() #define VI vector<int> #define VLL vector<long long> #define VVI vector<vector<int>> #define VVLL vector<vector<long long>> #define VC vector<char> #define VS vector<string> #define VVS vector<vector<string>> #define VVC vector<vector<char>> #define fore(i,a) for(auto &i:a) typedef long long ll; const int INF = 2147483647; const ll INFL = 9223372036854775807; const ll mod = 1000000007; const int MAX = 510000; long long fac[MAX], finv[MAX], inv[MAX]; void COMinit() { fac[0] = fac[1] = 1; finv[0] = finv[1] = 1; inv[1] = 1; for (int i = 2; i < MAX; i++) { fac[i] = fac[i - 1] * i % mod; inv[i] = mod - inv[mod%i] * (mod / i) % mod; finv[i] = finv[i - 1] * inv[i] % mod; } } long long COM(int n, int k) { if (n < k) return 0; if (n < 0 || k < 0) return 0; return fac[n] * (finv[k] * finv[n - k] % mod) % mod; } int main() { COMinit(); int h, w, a, b; cin >> h >> w >> a >> b; ll res = 0; REP(i, h - a) { res += COM(b - 1 + i, b - 1)*COM(w - b - 1 + h - 1 - i, w - b - 1); res %= mod; } cout << res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Iroha and a Grid |
User | toku |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1295 Byte |
Status | AC |
Exec Time | 21 ms |
Memory | 12160 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
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 | 20 ms | 12160 KB |
subtask0_02.txt | AC | 19 ms | 12160 KB |
subtask0_03.txt | AC | 19 ms | 12160 KB |
subtask0_04.txt | AC | 20 ms | 12160 KB |
subtask1_01.txt | AC | 19 ms | 12160 KB |
subtask1_02.txt | AC | 19 ms | 12160 KB |
subtask1_03.txt | AC | 20 ms | 12160 KB |
subtask1_04.txt | AC | 19 ms | 12160 KB |
subtask1_05.txt | AC | 19 ms | 12160 KB |
subtask1_06.txt | AC | 19 ms | 12160 KB |
subtask1_07.txt | AC | 19 ms | 12160 KB |
subtask1_08.txt | AC | 19 ms | 12160 KB |
subtask1_09.txt | AC | 19 ms | 12160 KB |
subtask1_10.txt | AC | 19 ms | 12160 KB |
subtask1_max.txt | AC | 19 ms | 12160 KB |
subtask2_01.txt | AC | 19 ms | 12160 KB |
subtask2_02.txt | AC | 19 ms | 12160 KB |
subtask2_03.txt | AC | 19 ms | 12160 KB |
subtask2_04.txt | AC | 20 ms | 12160 KB |
subtask2_05.txt | AC | 19 ms | 12160 KB |
subtask2_06.txt | AC | 21 ms | 12160 KB |
subtask2_07.txt | AC | 20 ms | 12160 KB |
subtask2_08.txt | AC | 20 ms | 12160 KB |
subtask2_09.txt | AC | 21 ms | 12160 KB |
subtask2_10.txt | AC | 20 ms | 12160 KB |
subtask2_max.txt | AC | 20 ms | 12160 KB |