Submission #7575714
Source Code Expand
fun main(args: Array<String>) { val (r, c) = readLine()!!.split(' ').map { it.toLong() } val (x, y) = readLine()!!.split(' ').map { it.toLong() } val (d, l) = readLine()!!.split(' ').map { it.toLong() } val ans1 = (r - x + 1) * (c - y + 1) var ans2 = conb(x * y, d) * conb(x * y - d, l) var ans3 = 0L run { val x1 = conb((x - 1) * y, d) * conb((x - 1) * y - d, l) % MOD val x2 = conb(x * (y - 1), d) * conb(x * (y - 1) - d, l) % MOD (x1 * 2 % MOD + x2 * 2 % MOD) % MOD }.let { ans3 = (ans3 + it) % MOD } run { val x1 = conb((x - 1) * (y - 1), d) * conb((x - 1) * (y - 1) - d, l) % MOD val x2 = conb((x - 2) * y, d) * conb((x - 2) * y - d, l) % MOD val x3 = conb(x * (y - 2), d) * conb(x * (y - 2) - d, l) % MOD (x1 * 4 % MOD + x2 + x3) % MOD }.let { ans3 = (ans3 + MOD - it) % MOD } run { val x1 = conb((x - 2) * (y - 1), d) * conb((x - 2) * (y - 1) - d, l) % MOD val x2 = conb((x - 1) * (y - 2), d) * conb((x - 1) * (y - 2) - d, l) % MOD (x1 * 2 % MOD + x2 * 2 % MOD) % MOD }.let { ans3 = (ans3 + it) % MOD } run { conb((x - 2) * (y - 2), d) * conb((x - 2) * (y - 2) - d, l) % MOD }.let { ans3 = (ans3 + MOD - it) % MOD } ans2 = ((ans2 + MOD) - ans3) % MOD println(ans1 * ans2 % MOD) } private const val MOD = 1000000007L private fun fact(n: Long): Long { if (n < 0L) return 0L if (n == 0L) return 1L return n * fact(n - 1) % MOD } private fun conb(n: Long, k: Long): Long { return div(div(fact(n), fact(n - k)), fact(k)) } private fun div(a: Long, b: Long) :Long { fun calc(a: Long, b: Long): Long { if (b == 0L) return 1L if (b % 2L == 0L) { val d = calc(a, b / 2) return d * d % MOD } return a * calc(a, b - 1) % MOD } return a * calc(b, MOD - 2) % MOD }
Submission Info
Submission Time | |
---|---|
Task | D - AtCoder社の冬 |
User | shin2ro |
Language | Kotlin (1.0.0) |
Score | 0 |
Code Size | 2027 Byte |
Status | WA |
Exec Time | 234 ms |
Memory | 38312 KB |
Judge Result
Set Name | sub | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 100 | 0 / 1 | ||||||||
Status |
|
|
Set Name | Test Cases |
---|---|
sub | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, test_03E.txt, test_04E.txt, test_07E.txt, test_08E.txt, test_11E.txt, test_12E.txt, test_15E.txt, test_16E.txt, test_19E.txt, test_20E.txt, test_23E.txt, test_24E.txt, test_27E.txt, test_28E.txt, test_31E.txt, test_32E.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_45E.txt, test_47E.txt |
All | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, 00_sample_04.txt, test_01.txt, test_02.txt, test_03E.txt, test_04E.txt, test_05.txt, test_06.txt, test_07E.txt, test_08E.txt, test_09.txt, test_10.txt, test_11E.txt, test_12E.txt, test_13.txt, test_14.txt, test_15E.txt, test_16E.txt, test_17.txt, test_18.txt, test_19E.txt, test_20E.txt, test_21.txt, test_22.txt, test_23E.txt, test_24E.txt, test_25.txt, test_26.txt, test_27E.txt, test_28E.txt, test_29.txt, test_30.txt, test_31E.txt, test_32E.txt, test_33.txt, test_34.txt, test_35.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45E.txt, test_46.txt, test_47E.txt, test_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01E.txt | AC | 230 ms | 36252 KB |
00_sample_02E.txt | AC | 230 ms | 36324 KB |
00_sample_03E.txt | AC | 233 ms | 36292 KB |
00_sample_04.txt | AC | 232 ms | 36264 KB |
test_01.txt | AC | 230 ms | 36128 KB |
test_02.txt | AC | 229 ms | 34300 KB |
test_03E.txt | AC | 232 ms | 36284 KB |
test_04E.txt | AC | 232 ms | 34600 KB |
test_05.txt | AC | 230 ms | 34340 KB |
test_06.txt | AC | 232 ms | 38312 KB |
test_07E.txt | AC | 232 ms | 34276 KB |
test_08E.txt | AC | 231 ms | 38204 KB |
test_09.txt | AC | 231 ms | 36260 KB |
test_10.txt | AC | 232 ms | 34368 KB |
test_11E.txt | AC | 230 ms | 34324 KB |
test_12E.txt | AC | 232 ms | 34524 KB |
test_13.txt | AC | 230 ms | 36312 KB |
test_14.txt | AC | 233 ms | 34208 KB |
test_15E.txt | AC | 234 ms | 34472 KB |
test_16E.txt | AC | 233 ms | 36292 KB |
test_17.txt | AC | 230 ms | 36260 KB |
test_18.txt | AC | 232 ms | 34332 KB |
test_19E.txt | AC | 230 ms | 36256 KB |
test_20E.txt | AC | 231 ms | 36348 KB |
test_21.txt | AC | 230 ms | 36324 KB |
test_22.txt | AC | 232 ms | 36264 KB |
test_23E.txt | AC | 229 ms | 34308 KB |
test_24E.txt | AC | 232 ms | 34236 KB |
test_25.txt | AC | 230 ms | 34304 KB |
test_26.txt | AC | 230 ms | 36128 KB |
test_27E.txt | AC | 232 ms | 36388 KB |
test_28E.txt | AC | 233 ms | 36256 KB |
test_29.txt | AC | 234 ms | 36500 KB |
test_30.txt | AC | 232 ms | 36264 KB |
test_31E.txt | AC | 231 ms | 36328 KB |
test_32E.txt | AC | 232 ms | 36172 KB |
test_33.txt | AC | 231 ms | 32584 KB |
test_34.txt | AC | 231 ms | 36352 KB |
test_35.txt | AC | 230 ms | 36180 KB |
test_36E.txt | AC | 231 ms | 36508 KB |
test_37E.txt | AC | 231 ms | 34452 KB |
test_38E.txt | AC | 230 ms | 36316 KB |
test_39E.txt | WA | 230 ms | 34372 KB |
test_40.txt | AC | 231 ms | 36296 KB |
test_41.txt | AC | 231 ms | 34292 KB |
test_42.txt | AC | 231 ms | 36284 KB |
test_43.txt | AC | 231 ms | 36320 KB |
test_44.txt | AC | 231 ms | 36252 KB |
test_45E.txt | AC | 231 ms | 32596 KB |
test_46.txt | AC | 231 ms | 32492 KB |
test_47E.txt | AC | 231 ms | 36260 KB |
test_48.txt | AC | 231 ms | 34288 KB |