문제

문제 3028

루비 광산

시간 제한 1.000초 메모리 제한 128MB

문제 설명

루비 광산에 𝑁개의 광물 구역이 일렬로 나열되어 있다. 각 구역에는 채굴 가능한 루비의 개수가 적혀 있다. 당신은 연속된 2개의 구역에서 채굴할 수 있다. 이때, 가장 많은 루비를 채굴했을 때의 총 개수를 구하시오.

이 문제는 반복문을 통해 𝐴[𝑖]와 𝐴[𝑖+1]의 합을 계산하고 계산한 합이 현재까지의 최대 합보다 크다면 최대값을 업데이트하는 방법으로 해결할 수 있다.

다음은 한 광부가 흘리고 간 예시 코드이다.

def f1(a)
  msum = 0

  for i in 0...(a.length - 1)
    csum = a[i] + a[i + 1]
    msum = [msum, csum].max
  end
    
  return msum
end

n = gets.to_i
a = gets.split.map(&:to_i)
puts f1(a)
자, 이제 직접 코드를 짜보자.

#반복문


입력 설명

첫째 줄에 정수 𝑁이 주어진다. (2 ≤ 𝑁 ≤ 100)

둘째줄에 𝑁개의 정수 𝐴$_1$, 𝐴$_2$, … , 𝐴$_𝑁$이 주어진다. (1 ≤ 𝐴$_𝑖$ ≤ 1,000)

출력 설명

가장 많은 루비를 채굴했을 때의 총 개수를 출력하시오.

입력 예시

5
10 20 30 40 50

출력 예시

90

출처

버러지컵_L1R 재능