Submission #23138014
Source Code Expand
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()
Submission Info
| Submission Time | |
|---|---|
| Task | 017 - Crossing Segments(★7) |
| User | riantkb |
| Language | Python (3.8.2) |
| Score | 7 |
| Code Size | 1563 Byte |
| Status | AC |
| Exec Time | 1230 ms |
| Memory | 112520 KiB |
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1 / 1 | 2 / 2 | 4 / 4 | ||||||||
| Status |
|
|
|
|
| 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 | 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 |