1935C - Messenger in MAC - CodeForces Solution


binary search brute force constructive algorithms data structures dp greedy sortings

Please click on ads to support us..

Python Code:

import sys
input = sys.stdin.readline
from heapq import heappop, heappush
t = int(input())
for _ in range(t):
    n, l = map(int, input().split())
    p = []
    for _ in range(n):
        a, b = map(int, input().split())
        p.append((b, a))
    p.sort()
    ans = 0
    for i in range(n):
        h = []
        cur = 0
        count = 0
        ans = max(ans, count)
        for j in range(i, n):
            cur += p[j][1]
            heappush(h, -p[j][1])
            count += 1
            while count and cur + p[j][0] - p[i][0] > l:
                count -= 1
                cur += heappop(h)
            ans = max(ans, count)
    print(ans)


Comments

Submit
0 Comments
More Questions

1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility
20B - Equation
600B - Queries about less or equal elements
1015A - Points in Segments
1593B - Make it Divisible by 25
680C - Bear and Prime 100
1300A - Non-zero
1475E - Advertising Agency
1345B - Card Constructions
1077B - Disturbed People
653A - Bear and Three Balls
794A - Bank Robbery
157A - Game Outcome
3B - Lorry
1392A - Omkar and Password
489A - SwapSort
932A - Palindromic Supersequence
433A - Kitahara Haruki's Gift
672A - Summer Camp
1277A - Happy Birthday Polycarp
577A - Multiplication Table
817C - Really Big Numbers
1355A - Sequence with Digits
977B - Two-gram
993A - Two Squares