Logo
(追記) (追記ここまで)

1549번 - K

시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 128 MB88226420029.718%

문제

s(i,k)를 배열 A의 i번째 원소부터 시작하는 연속된 k개 수의 합이라고 정의하자.

s(i,k) = A[i] + A[i+1] + ... + A[i+k-1]

i+k ≤ j일 때, s(i,k) 와 s(j,k)의 차이 (abs(s(i, k) - s(j, k)))를 최소로 하는 프로그램을 작성하시오. 즉, 동일한 길이의 겹치지 않는 두 부분 수열의 차이를 최소로 하는 것이다.

입력

첫째 줄에 n이 주어진다. n은 2보다 크거나 같고, 3,000보다 작거나 같은 자연수이다. 둘째 줄에는 배열 A의 원소가 A[0]부터 차례대로 주어진다. A[i] ≤ 1,000,000,000인 자연수 또는 0이다.

출력

첫째 줄에 값이 가장 작을 때 k를 출력하고, 둘째 줄에 차이의 최솟값을 출력한다. 만약 최솟값이 여러 개일 경우에는 k를 최대로 한다.

제한

예제 입력 1

5
5 19 11 12 15

예제 출력 1

2
1

예제 입력 2

12
8 169 1135 652 1940 1296 1618 1457 491 974 1779 330

예제 출력 2

5
161

힌트

출처

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /