000 — CSEC CPD KICKOFF Contest — (DIV 1) — Editorial

Правка en34, от porcif, 2024-10-17 13:35:07

A. Garland

Understand the Problem
Tutorial
Code

B. Detective Book

Understand the Problem
Tutorial
Code

C. Points on Plane

Understand the problem

E. Playlist

problem

Tutorial

The intuition behind this problem is to maximize the total pleasure by carefully balancing two things: the total length of the songs you choose and the beauty of those songs. Since pleasure depends on both, the trick is to first focus on beauty because it acts as a multiplier. Higher beauty means we get a bigger boost in pleasure, so it makes sense to start by considering the most beautiful songs first.

However, we also need to manage the total length of the songs we pick, since adding longer songs can increase the total pleasure. But we can only select up to k songs, so if we reach the limit, we should drop the shortest song to keep the sum of lengths as large as possible. This way, we get the best combination of beauty and length to maximize the pleasure.

Code by Kalki75

Code

n, k = map(int,input().split())

nums = []

for _ in range(n): t, b = map(int,input().split()) nums.append([t,b])

nums.sort(reverse = True, key= lambda x: x[1])

heap = [] ans = 0 total = 0

for i in range(n): time, beauty = nums[i] total += time

if len(heap) < k:
    heappush(heap,(time,beauty))

else: 
    min_time, min_beauty = heappop(heap)
    heappush(heap,(time,beauty))
    total -= min_time

ans = max(ans,total*beauty)

print(ans) ```

Теги csec_astu, codeforces

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en48 Английский porcif 2024-10-17 16:46:48 2 Tiny change: '\n[here](htt' -> '[here](htt'
en47 Английский porcif 2024-10-17 16:45:19 138
en46 Английский porcif 2024-10-17 16:38:51 0 (published)
en45 Английский porcif 2024-10-17 16:30:51 2376
en44 Английский porcif 2024-10-17 16:30:37 4960 Reverted to en42
en43 Английский porcif 2024-10-17 16:15:47 4960
en42 Английский porcif 2024-10-17 14:39:39 5
en41 Английский porcif 2024-10-17 14:38:12 430
en40 Английский porcif 2024-10-17 14:23:52 38
en39 Английский porcif 2024-10-17 14:22:59 846
en38 Английский porcif 2024-10-17 14:02:29 3 Tiny change: 'oiler>\n\nCode by [u' -> 'oiler>\n\n- Code by [u'
en37 Английский porcif 2024-10-17 13:59:50 4
en36 Английский porcif 2024-10-17 13:59:19 9
en35 Английский porcif 2024-10-17 13:58:28 631
en34 Английский porcif 2024-10-17 13:35:07 1130
en33 Английский porcif 2024-10-17 13:04:38 56
en32 Английский porcif 2024-10-17 13:03:12 30
en31 Английский porcif 2024-10-17 13:01:34 678
en30 Английский porcif 2024-10-16 23:40:21 12 Tiny change: ' summary="Code">\n\nOnce' -> ' summary="Tutorial">\n\nOnce'
en29 Английский porcif 2024-10-16 23:38:06 820
en28 Английский porcif 2024-10-16 23:11:11 350
en27 Английский porcif 2024-10-16 23:01:10 22
en26 Английский porcif 2024-10-16 23:00:37 418
en25 Английский porcif 2024-10-16 01:31:34 5
en24 Английский porcif 2024-10-16 01:30:57 1 Tiny change: 'that:\n1. The Eucli' -> 'that:\n1. The Eucli'
en23 Английский porcif 2024-10-16 01:30:09 37 Tiny change: 'em">\n\n\n\n### **Problem Understanding**\n\nThe ta' -> 'em">\n\n\nThe ta'
en22 Английский porcif 2024-10-16 01:29:32 930
en21 Английский porcif 2024-10-16 00:43:22 3 Tiny change: 'r \n```\n9\n1 3 3 6 ' -> 'r \n```\n1 3 3 6 '
en20 Английский porcif 2024-10-16 00:42:51 29
en19 Английский porcif 2024-10-16 00:40:05 93
en18 Английский porcif 2024-10-16 00:37:08 866
en17 Английский porcif 2024-10-16 00:33:15 2654
en16 Английский porcif 2024-10-16 00:21:37 15
en15 Английский porcif 2024-10-16 00:19:18 1459
en14 Английский porcif 2024-10-16 00:07:47 45
en13 Английский porcif 2024-10-16 00:05:25 958
en12 Английский porcif 2024-10-16 00:01:27 4 Tiny change: '[A. Garlan' -> '### [A. Garlan'
en11 Английский porcif 2024-10-16 00:01:09 11
en10 Английский porcif 2024-10-16 00:00:52 5 Tiny change: '#### [A &mdash;' -> '[A &mdash;'
en9 Английский porcif 2024-10-16 00:00:38 2 Tiny change: '#### **[A &mdash; Garland](' -> '#### [A - Garland]('
en8 Английский porcif 2024-10-16 00:00:17 1 Tiny change: '#### **[A &mdash; Garland](' -> '#### **[A - Garland]('
en7 Английский porcif 2024-10-16 00:00:03 9 Tiny change: '#### **[Problem A &mdash; G' -> '#### **[A &mdash; G'
en6 Английский porcif 2024-10-15 23:59:36 16
en5 Английский porcif 2024-10-15 23:57:17 4
en4 Английский porcif 2024-10-15 23:57:04 67
en3 Английский porcif 2024-10-15 23:56:12 83
en2 Английский porcif 2024-10-15 23:55:53 63
en1 Английский porcif 2024-10-15 23:54:42 82 Initial revision (saved to drafts)