Submission #22523343


Source Code Expand

import sys
import numpy as np
from numba import njit

input = sys.stdin.readline


@njit('void(int64[:], int32, int64)', cache=True)
def bit_add(data, i, x):
    i += 1
    while i <= len(data):
        data[i - 1] += x
        i += i & -i


@njit('int64(int64[:], int32)', cache=True)
def _bit_sum(data, r):
    s = 0
    while r > 0:
        s += data[r - 1]
        r -= r & -r
    return s


@njit('int64(int64[:], int32, int32)', cache=True)
def bit_sum(data, l, r):
    return _bit_sum(data, r) - _bit_sum(data, l)


@njit('int64(int32, int64[:, :])', cache=True)
def solve(n, p):
    bit = np.zeros(n, dtype=np.int64)
    ans = 0
    for i in range(len(p)):
        l, r = p[i]
        ans += bit_sum(bit, l + 1, r)
        bit_add(bit, r, 1)

    return ans


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__":
    main()

Submission Info

Submission Time
Task 017 - Crossing Segments(★7)
User riantkb
Language Python (3.8.2)
Score 7
Code Size 1012 Byte
Status AC
Exec Time 1716 ms
Memory 192024 KiB

Judge Result

Set Name Sample Subtask1 Subtask2 All
Score / Max Score 0 / 0 1 / 1 2 / 2 4 / 4
Status
AC × 5
AC × 12
AC × 18
AC × 25
Set Name Test Cases
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
Case Name Status Exec Time Memory
sample01.txt AC 522 ms 106500 KiB
sample02.txt AC 506 ms 105828 KiB
sample03.txt AC 500 ms 106504 KiB
sample04.txt AC 500 ms 106532 KiB
sample05.txt AC 504 ms 105260 KiB
subtask1_handmade.txt AC 499 ms 105508 KiB
subtask1_max00.txt AC 507 ms 106208 KiB
subtask1_max01.txt AC 507 ms 106332 KiB
subtask1_max02.txt AC 502 ms 106860 KiB
subtask1_random00.txt AC 497 ms 105984 KiB
subtask1_random01.txt AC 498 ms 105752 KiB
subtask1_random02.txt AC 503 ms 105328 KiB
subtask2_max00.txt AC 800 ms 132524 KiB
subtask2_max01.txt AC 801 ms 131640 KiB
subtask2_max02.txt AC 805 ms 132908 KiB
subtask2_random00.txt AC 511 ms 107200 KiB
subtask2_random01.txt AC 648 ms 120440 KiB
subtask2_random02.txt AC 704 ms 124048 KiB
subtask3_handmade.txt AC 1702 ms 191472 KiB
subtask3_max00.txt AC 1696 ms 191064 KiB
subtask3_max01.txt AC 1716 ms 192024 KiB
subtask3_max02.txt AC 1708 ms 191492 KiB
subtask3_random00.txt AC 1264 ms 163936 KiB
subtask3_random01.txt AC 1253 ms 164312 KiB
subtask3_random02.txt AC 538 ms 109556 KiB