일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 인하대학교
- certi
- 알고리즘 특강
- 코딩트리조별과제
- 구현
- ICPC
- 백준
- 삼성전자 코딩테스트
- 2017
- 파이썬
- 알고리즘
- 코딩테스트
- Python
- 파일 생성 불가
- PRO
- iucpc
- newbie programming contest
- 구름톤 챌린지
- 전국 대학생 프로그래밍 대회 동아리 연합
- B형
- 알고리즘특강
- 코딩테스트실력진단
- agcu컵
- 사내자격증
- 삼성전자
- 선린고등학교
- 프로그래밍 경시대회
- 서울대학교
- 2023
- 코드트리
Archives
- Today
- Total
니노니나니
[백준/27952번] 보디빌딩 - S4/Python 본문
https://www.acmicpc.net/problem/27952
문제
건표는 헬스를 좋아하는 사람이다. 건표는 자신만의 운동 루틴이 있다. 건표는 이 루틴을 진행할 때마다 몸무게가 kg만큼 빠졌다. 건표는 하루에 몇 번이고 이 루틴을 진행할 수 있었다.
건표는 장차 있을 보디빌딩 대회를 위해 일에 걸쳐 식단을 짜놓았다. 이 계획에 의하면 번째 날에는 건표의 몸무게가 kg만큼 찐다. 다만, 건표가 운동을 하다가 쓰러지면 안 되기 때문에 번째 날에 최종 몸무게가 최소 kg 이상이 되길 원했다. 만약 건표가 너무 많이 운동을 하거나 너무 적게 음식을 먹어서 그날에 최종적으로 kg보다 적은 몸무게를 가진다면, 건표는 그 자리에서 쓰러진다. 건표는 보디빌딩 대회에서 우승하기 위해 루틴을 최대한 많이 진행하여 최대한 건강한 몸을 만들고 싶었다. 건표가 쓰러지지 않는 선에서 이 루틴을 최대 몇 번까지 진행할 수 있는지 구하여라.
입력
첫째 줄에는 두 정수 과 가 주어진다. 은 보디빌딩 대회까지 남은 일수. 는 루틴을 진행할 때마다 빠지는 몸무게(kg)이다.
둘째 줄에는 개의 정수 가 주어진다. 번째 정수 는 번째 날 최종 몸무게의 하한을 의미한다.
셋째 줄에는 개의 정수 가 주어진다. 번째 정수 는 번째 날에 늘어나는 몸무게를 나타낸다.
풀이
n,x = map(int, input().split())
min_weights = list(map(int, input().split()))
gain_weights = list(map(int, input().split()))
weight = 0
for idx, g in enumerate(gain_weights):
weight += g
if weight < min_weights[idx]:
print(-1)
exit()
print((weight - min_weights[-1])//x)
해결방법
운동 루틴을 매일 할 필요 없이 매일 살찌는 과정만 진행하면서 최소 몸무게를 넘어가는지 검사 한 다음 문제가 없으면 마지막 날의 최소 몸무게를 제외한 후 가능한 운동 횟수를 출력하면 되는 문제.
'알고리즘 > 백준' 카테고리의 다른 글
[백준/11277번] 2-SAT - 1 - S1/Python (0) | 2024.07.27 |
---|---|
[백준/7347번] 플립과 시프트 - S2/Python (0) | 2024.07.26 |
[백준/10420번] 기념일 1 - B2/Python (4) | 2024.07.24 |
[백준/30827번] 회의실 배정 - G4/Python (2) | 2024.07.23 |
[백준/10421번] 수식 완성하기 - G5/Python (2) | 2024.07.22 |