Submission #23947600


Source Code Expand

Copy
import sys
input = sys.stdin.readline
def main():
w, n = map(int, input().split())
p = [tuple(map(int, input().split())) for _ in range(n)]
p.sort(key=lambda x: x[1] - x[0])
inf = 1 << 60
dp = [-inf for _ in range(w + 1)]
dp[0] = 0
ans = -inf
for l, r, v in p:
ans = max(ans, max(dp[w - r: w - l + 1]) + v)
for i in range(w, l - 1, -1):
dp[i] = max(dp[i], dp[i - l] + v)
if i >= r:
dp[i] = max(dp[i], dp[i - r] + v)
print(ans if ans > 0 else -1)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import sys

input = sys.stdin.readline


def main():
    w, n = map(int, input().split())
    p = [tuple(map(int, input().split())) for _ in range(n)]
    p.sort(key=lambda x: x[1] - x[0])
    inf = 1 << 60
    dp = [-inf for _ in range(w + 1)]
    dp[0] = 0
    ans = -inf
    for l, r, v in p:
        ans = max(ans, max(dp[w - r: w - l + 1]) + v)
        for i in range(w, l - 1, -1):
            dp[i] = max(dp[i], dp[i - l] + v)
            if i >= r:
                dp[i] = max(dp[i], dp[i - r] + v)

    print(ans if ans > 0 else -1)


if __name__ == "__main__":
    main()

Submission Info

Submission Time
Task 037 - Don't Leave the Spice(★5)
User riantkb
Language Python (3.8.2)
Score 5
Code Size 582 Byte
Status AC
Exec Time 1369 ms
Memory 9656 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 5 / 5
Status
AC × 4
AC × 25
Set Name Test Cases
Sample 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt
All 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt, 02_partialsum_01.txt, 02_partialsum_02.txt, 02_partialsum_03.txt, 02_partialsum_04.txt, 02_partialsum_05.txt, 03_knapsack_01.txt, 03_knapsack_02.txt, 03_knapsack_03.txt, 04_random_01.txt, 04_random_02.txt, 04_random_03.txt, 04_random_04.txt, 04_random_05.txt, 04_random_06.txt, 04_random_07.txt, 04_random_08.txt, 04_random_09.txt, 04_random_10.txt, 05_special_01.txt, 99_max_01.txt, 99_max_02.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 30 ms 9064 KB
01_sample_02.txt AC 26 ms 9132 KB
01_sample_03.txt AC 36 ms 9252 KB
01_sample_04.txt AC 89 ms 9564 KB
02_partialsum_01.txt AC 164 ms 9316 KB
02_partialsum_02.txt AC 1030 ms 9212 KB
02_partialsum_03.txt AC 1234 ms 9656 KB
02_partialsum_04.txt AC 197 ms 9148 KB
02_partialsum_05.txt AC 113 ms 9324 KB
03_knapsack_01.txt AC 109 ms 9312 KB
03_knapsack_02.txt AC 775 ms 9500 KB
03_knapsack_03.txt AC 1239 ms 9360 KB
04_random_01.txt AC 122 ms 9016 KB
04_random_02.txt AC 223 ms 9240 KB
04_random_03.txt AC 141 ms 9048 KB
04_random_04.txt AC 340 ms 9064 KB
04_random_05.txt AC 1323 ms 9516 KB
04_random_06.txt AC 1293 ms 9360 KB
04_random_07.txt AC 880 ms 9236 KB
04_random_08.txt AC 1112 ms 9480 KB
04_random_09.txt AC 1197 ms 9452 KB
04_random_10.txt AC 1369 ms 9352 KB
05_special_01.txt AC 816 ms 9516 KB
99_max_01.txt AC 1346 ms 9340 KB
99_max_02.txt AC 1350 ms 9332 KB


2025-04-05 (Sat)
20:01:51 +00:00