티스토리 뷰

www.acmicpc.net/problem/17224

 

17224번: APC는 왜 서브태스크 대회가 되었을까?

2019년 올해도 어김없이 아주대학교 프로그래밍 경시대회(Ajou Programming Contest, APC)가 열렸다! 올해 새롭게 APC의 총감독을 맡게 된 준표는 대회 출제 과정 중 큰 고민에 빠졌다. APC에 참가하는 참가

www.acmicpc.net

우선 현정이의 역량으로 풀 수 있는 어려운 문제, 쉬운 문제의 개수를 각각 센다.

그러나 풀 수 있는 최대 개수 이상은 풀 수 없으며, 점수 카운팅 시 우선 순위는 어려운 문제다.

따라서 어려운 문제를 최대한 몇 개 풀 수 있는지 계산하고 min(hard, K)

푼 문제의 개수 만큼 풀 수 있는 최대 개수에서 제외시켜 준다. K -= cnt

그런 다음, 남은 개수 안에서 쉬운 문제를 얼마나 풀 수 있는지 계산한다. min(easy, K)

# 문제 개수, 현정이 역량, 현정이가 풀 수 있는 최대 개수 
N, L, K = map(int, input().split())
easy, hard = 0, 0 # 문제 푼 개수

quiz = []
for _ in range(N):
    sub1, sub2 = map(int, input().split())
    if sub2 <= L:
        hard += 1
    elif sub1 <= L:
        easy += 1
cnt, score = 0, 0
cnt += min(hard, K)
score = min(hard, K) * 140

K -= cnt
cnt += min(easy, K)
score += min(easy, K) * 100
print(score)

 

그러나 쉬운 문제의 경우에는, 어려운 문제를 다 풀고도 문제를 더 풀 수 있는 경우만 계산해주면 된다.

# hard 문제
ans = min(hard, K) * 140

# easy 문제
if hard < K :
    ans += min(K-hard, easy) * 100

print(ans)

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 16769: Mixing Milk  (0) 2020.11.15
[백준] 9037: The candy war  (0) 2020.11.15
[백준] 16165번: 걸그룹 마스터 준석이  (0) 2020.11.15
[백준] 1920번: 수 찾기  (0) 2020.11.15
[백준] 17389: 보너스 점수  (0) 2020.11.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함