結果

問題 No.1194 Replace
ユーザー 37zigen37zigen
提出日時 2020-08-31 18:23:21
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,230 ms / 2,000 ms
コード長 490 bytes
コンパイル時間 155 ms
コンパイル使用メモリ 82,184 KB
実行使用メモリ 160,368 KB
最終ジャッジ日時 2024-04-28 06:58:25
合計ジャッジ時間 23,508 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 914 ms
123,532 KB
testcase_01 AC 949 ms
128,212 KB
testcase_02 AC 797 ms
114,816 KB
testcase_03 AC 648 ms
107,052 KB
testcase_04 AC 987 ms
124,160 KB
testcase_05 AC 899 ms
120,708 KB
testcase_06 AC 879 ms
119,296 KB
testcase_07 AC 1,050 ms
135,128 KB
testcase_08 AC 1,040 ms
135,008 KB
testcase_09 AC 1,045 ms
134,536 KB
testcase_10 AC 1,059 ms
135,236 KB
testcase_11 AC 1,072 ms
134,720 KB
testcase_12 AC 1,062 ms
134,720 KB
testcase_13 AC 1,230 ms
160,368 KB
testcase_14 AC 964 ms
126,576 KB
testcase_15 AC 773 ms
108,032 KB
testcase_16 AC 1,182 ms
154,752 KB
testcase_17 AC 764 ms
108,416 KB
testcase_18 AC 796 ms
113,152 KB
testcase_19 AC 1,063 ms
135,168 KB
testcase_20 AC 37 ms
51,968 KB
testcase_21 AC 38 ms
52,096 KB
testcase_22 AC 41 ms
51,968 KB
testcase_23 AC 368 ms
87,260 KB
testcase_24 AC 146 ms
79,872 KB
testcase_25 AC 129 ms
79,180 KB
testcase_26 AC 477 ms
98,816 KB
testcase_27 AC 152 ms
81,024 KB
testcase_28 AC 268 ms
86,656 KB
testcase_29 AC 82 ms
76,672 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
sys.setrecursionlimit(10**6)
N,M=map(int,input().split())
g=dict()
e=[]
for i in range(M):
    b,c=map(int,input().split())
    e.append((c,b))
    if c not in g:
        g[c]=[]
    g[c].append(b)
e.sort(reverse=True)
to=dict()
ans=N*(N+1)//2

def dfs(cur,v):
    global ans
    for dst in g[cur]:
        if dst in to or dst>v:
            continue
        to[dst]=v
        ans+=v-dst
        if dst in g:
            dfs(dst,v)

for src,tmp in e:
    dfs(src,src)

print(ans)
0