funmain() { repeat(readInts().first()) { val (xa, ya) = readInts() val (xb, yb) = readInts() val (xc, yc) = readInts() var ans = 0 if (xa < min(xb, xc)) { ans += min(xb, xc) - xa } if (ya < min(yb, yc)) { ans += min(yb, yc) - ya } if (xa > max(xb, xc)) { ans += xa - max(xb, xc) } if (ya > max(yb, yc)) { ans += ya - max(yb, yc) } println(ans + 1) } }
classBit(n: Int) { val tree = MutableList(n + 1) { 0L }
funadd(ii: Int, v: Long) { var i = ii while (i < tree.size) { tree[i] += v i += i and -i } }
funquary(ii: Int): Long { var s = 0L var i = ii while (i > 0) { s += tree[i] i -= i and -i } return s }
funrq(l: Int, r: Int) = quary(r) - quary(l - 1) }
funmain() { val (n) = readInts() val a = readInts().map { it + 1 } val maxAi = 100001 val f = Bit(maxAi) val g = Bit(maxAi) var ans = 0L a.forEach { val pair = f.quary(it - 1) val triple = g.quary(it - 1) f.add(it, 1) g.add(it, pair) ans += triple } println(ans) }
funmain() { val (n) = readInts() val c = mutableListOf(1.toBigInteger()) for (i in1..n) { val ci = (c zip c.reversed()).sumOf { (a, b) -> a * b } c.add(ci) } println(c.last()) }
constval mod = 998_244_353L infixfunLong.add(x: Long) = (this + x) % mod infixfunLong.sub(x: Long) = (this - x) % mod infixfunLong.mul(x: Long) = this * x % mod funLong.pow(n: Int) = this.toBigInteger().modPow(n.toBigInteger(), mod.toBigInteger()).toLong() funLong.mod() = (this % mod + mod) % mod
funmain() { val (n) = readInts() val div = List(n + 1) { mutableListOf<Int>() } for (i in1..n) { for (j in i..n step i) { div[j] += i } } val a = readLongs() .mapIndexed { i, v -> Pair(i + 1, v) } .sortedBy { -it.second } var ans = 0L var unfix = n val free = MutableList(n + 1) { 1 } // println(a) a.forEach { (i, v) -> var p = 0 div[i].forEach { p += free[it] unfix -= free[it] free[it] = 0 } ans += (2L.pow(p)-1L) mul 2L.pow(unfix) mul v } println(ans.mod()) }
funLong.mod() = (this % mod + mod) % mod infixfunLong.add(x: Long) = (this + x) % mod infixfunLong.sub(x: Long) = (this - x) % mod infixfunLong.mul(x: Long) = this * x % mod funLong.inve(): Long { var (a, b, u, v) = arrayOf(mod, this, 0, 1) while (b != 0L) { val t = a / b a -= t * b a = b.also { b = a } u -= t * v u = v.also { v = u } } assert(a == 1L) return u }
val revfact = (n downTo 1).scan(1L) { acc, i -> acc mul i.toLong() } val inve = revfact.last().inve() func(r: Int) = inve mul revfact[r] mul revfact[n - r] val ans = (0..n) .filter { ok(it * a + (n - it) * b) } .sumOf { c(it) } println(ans.mod()) }