秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1150252023-10-26 05:14:45loop0919Ipython25/25AC367

from bisect import bisect_left
from itertools import accumulate

MOD = 127237991

N = int(input())
A = sorted(map(int, input().split()))
B = sorted(map(int, input().split()))
C = sorted(map(int, input().split()))
D = sorted(map(int, input().split()))
E = sorted(map(int, input().split()))

BA_cnt = [bisect_left(A, B[i]) for i in range(N)]
BA_cum = [0] + list(accumulate(BA_cnt))
BA_cum = [x%MOD for x in BA_cum]

CB_cnt = [BA_cum[bisect_left(B, C[i])] for i in range(N)]
CB_cum = [0] + list(accumulate(CB_cnt))
CB_cum = [x%MOD for x in CB_cum]

DC_cnt = [CB_cum[bisect_left(C, D[i])] for i in range(N)]
DC_cum = [0] + list(accumulate(DC_cnt))
DC_cum = [x%MOD for x in DC_cum]

ED_cnt = [DC_cum[bisect_left(D, E[i])] for i in range(N)]
print(sum(ED_cnt) % MOD)

sample1.txt AC 16
sample2.txt AC 23
sample3.txt AC 26
sample4.txt AC 19
sample5.txt AC 21
case1.txt AC 25
case2.txt AC 30
case3.txt AC 40
case4.txt AC 27
case5.txt AC 20
case6.txt AC 162
case7.txt AC 140
case8.txt AC 169
case9.txt AC 80
case10.txt AC 77
case11.txt AC 291
case12.txt AC 363
case13.txt AC 261
case14.txt AC 336
case15.txt AC 295
case16.txt AC 203
case17.txt AC 367
case18.txt AC 202
case19.txt AC 327
case20.txt AC 199
367 AC