Algorithm/Baekjoon

백준 시험 감독(13458번 문제) Python3 코드

Bonita SY 2019. 10. 19. 20:02
728x90
반응형

코드 1) -> 시간초과

import math
import sys

exam_room = int(sys.stdin.readline().strip())

student_str = sys.stdin.readline().strip()
student_list = []
if " " in student_str:
  student_list = list(map(int, student_str.split(" ")))
else:
  student_list.append(int(student_str))

main, sub = map(int, input().split(" "))

need_pd = 0
for student in student_list:
  need_pd += 1
  student -= main

  while student > 0:
    need_pd += 1
    student -= sub

print(need_pd)

코드 2) -> 틀렸습니다

import math
import sys

exam_room = int(sys.stdin.readline().strip())

student_str = sys.stdin.readline().strip()
student_list = []
if " " in student_str:
  student_list = list(map(int, student_str.split(" ")))
else:
  student_list.append(int(student_str))

main, sub = map(int, input().split(" "))

need_pd = 0
for student in student_list:
  need_pd += 1
  student -= main

  if student <= 0:
    break

  need_pd += math.ceil(student / sub)

print(need_pd)

문제)

https://www.acmicpc.net/problem/13458

 

13458번: 시험 감독

첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net


어떻게 푸는건가,.,., 제발 알려줘~

728x90
반응형