提出 #31262514


ソースコード 拡げる

INF = 10 ** 9
d, n = map(int, input().split())
t = [int(input()) for i in range(d)]
a = [0] * n
b = [0] * n
c = [0] * n
for i in range(n):
    a[i], b[i], c[i] = map(int, input().split())
dp = [[0] * n for i in range(d)]
# dp[i][j] = i 日目に服 j を着る場合の i 日目までのスコア
for i in range(n):
    if not (a[i] <= t[0] <= b[i]):
        dp[0][i] = -INF
for i in range(1, d):
    for j in range(n):
        if not (a[j] <= t[i] <= b[j]):
            dp[i][j] = -INF
        else:
            for k in range(n):
                dp[i][j] = max(dp[i][j], dp[i - 1][k] + abs(c[k] - c[j]))
print(max(dp[d - 1]))

提出情報

提出日時
問題 D - 暑い日々 (Hot days)
ユーザ Pro_ktmr
言語 PyPy3 (7.3.0)
得点 100
コード長 647 Byte
結果 AC
実行時間 116 ms
メモリ 74456 KiB

ジャッジ結果

セット名 set01 set02 set03 set04 set05
得点 / 配点 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
結果
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
セット名 テストケース
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
ケース名 結果 実行時間 メモリ
data1 AC 64 ms 61904 KiB
data2 AC 56 ms 62148 KiB
data3 AC 115 ms 74388 KiB
data4 AC 114 ms 74332 KiB
data5 AC 116 ms 74456 KiB