提出 #23138014


ソースコード 拡げる

import sys
import numpy as np

input = sys.stdin.readline


def main():
    n, m = map(int, input().split())
    p = [[int(x) - 1 for x in input().split()] for _ in range(m)]
    p.sort(key=lambda x: (x[0], -x[1]))
    print(solve(n, np.array(p, dtype=np.int64)))


if __name__ == "__main__":
    if sys.argv[-1] == 'ONLINE_JUDGE':
        import numba
        try:
            from numba.experimental import jitclass
        except ImportError:
            from numba import jitclass
        from numba.pycc import CC

        @jitclass([("n", numba.int32), ("data", numba.int64[:]), ])
        class BIT:
            def __init__(self, n):
                self.n = n
                self.data = np.zeros(n, dtype=np.int64)

            def add(self, i, x):
                i += 1
                while i <= self.n:
                    self.data[i - 1] += x
                    i += i & -i

            def _sum(self, r):
                s = 0
                while r > 0:
                    s += self.data[r - 1]
                    r -= r & -r
                return s

            def sum(self, l, r):
                return self._sum(r) - self._sum(l)

        def solve(n, p):
            bit = BIT(n)
            ans = 0
            for i in range(len(p)):
                l, r = p[i]
                ans += bit.sum(l + 1, r)
                bit.add(r, 1)

            return ans

        cc = CC('my_module')
        cc.export('solve', 'int64(int32, int64[:, :])')(solve)
        cc.compile()
    else:
        from my_module import solve
        main()

提出情報

提出日時
問題 017 - Crossing Segments(★7)
ユーザ riantkb
言語 Python (3.8.2)
得点 7
コード長 1563 Byte
結果 AC
実行時間 1230 ms
メモリ 112520 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2 All
得点 / 配点 0 / 0 1 / 1 2 / 2 4 / 4
結果
AC × 5
AC × 12
AC × 18
AC × 25
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt
Subtask1 sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt, subtask1_handmade.txt, subtask1_max00.txt, subtask1_max01.txt, subtask1_max02.txt, subtask1_random00.txt, subtask1_random01.txt, subtask1_random02.txt
Subtask2 sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt, subtask1_handmade.txt, subtask1_max00.txt, subtask1_max01.txt, subtask1_max02.txt, subtask1_random00.txt, subtask1_random01.txt, subtask1_random02.txt, subtask2_max00.txt, subtask2_max01.txt, subtask2_max02.txt, subtask2_random00.txt, subtask2_random01.txt, subtask2_random02.txt
All sample01.txt, sample02.txt, sample03.txt, sample04.txt, sample05.txt, subtask1_handmade.txt, subtask1_max00.txt, subtask1_max01.txt, subtask1_max02.txt, subtask1_random00.txt, subtask1_random01.txt, subtask1_random02.txt, subtask2_max00.txt, subtask2_max01.txt, subtask2_max02.txt, subtask2_random00.txt, subtask2_random01.txt, subtask2_random02.txt, subtask3_handmade.txt, subtask3_max00.txt, subtask3_max01.txt, subtask3_max02.txt, subtask3_random00.txt, subtask3_random01.txt, subtask3_random02.txt
ケース名 結果 実行時間 メモリ
sample01.txt AC 116 ms 27040 KiB
sample02.txt AC 105 ms 27340 KiB
sample03.txt AC 106 ms 27308 KiB
sample04.txt AC 103 ms 26944 KiB
sample05.txt AC 104 ms 27148 KiB
subtask1_handmade.txt AC 109 ms 27200 KiB
subtask1_max00.txt AC 109 ms 27320 KiB
subtask1_max01.txt AC 109 ms 27052 KiB
subtask1_max02.txt AC 110 ms 27380 KiB
subtask1_random00.txt AC 109 ms 26892 KiB
subtask1_random01.txt AC 110 ms 27144 KiB
subtask1_random02.txt AC 108 ms 27112 KiB
subtask2_max00.txt AC 361 ms 53112 KiB
subtask2_max01.txt AC 373 ms 53092 KiB
subtask2_max02.txt AC 366 ms 52976 KiB
subtask2_random00.txt AC 111 ms 27692 KiB
subtask2_random01.txt AC 245 ms 42400 KiB
subtask2_random02.txt AC 269 ms 45112 KiB
subtask3_handmade.txt AC 1171 ms 112188 KiB
subtask3_max00.txt AC 1210 ms 112120 KiB
subtask3_max01.txt AC 1206 ms 112520 KiB
subtask3_max02.txt AC 1230 ms 112512 KiB
subtask3_random00.txt AC 802 ms 84544 KiB
subtask3_random01.txt AC 802 ms 85192 KiB
subtask3_random02.txt AC 125 ms 29920 KiB