아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

더하기

시간 제한1초메모리 제한1024 MB

요약
연속한 세 값을 1씩 증가시키는 연산을 최소로 사용해 홀수 번째 위치의 합과 짝수 번째 위치의 합을 같게 만들고, 불가능하면 -1을 출력합니다.
난이도

보통10점 중 6점

유형
수학, 그리디, 배열
정답자
아직 제출이 없습니다

문제

정수로 구성된 수열 A_1,A_2,⋯ ,A_NA\_1, A\_2, \cdots, A\_N이 주어진다. 우리는 이 수열에 아래 연산을 원하는 만큼 반복할 수 있다.

  • 인접한 세 값을 1씩 증가시킨다.

이 연산을 최소한으로 사용해 수열의 홀수 번째 위치의 합과 짝수 번째 위치의 합을 같게 만들고자 한다. 최소 몇 번의 연산을 해야 홀수 번째 위치와 짝수 번째 위치의 합이 같아지는지 구하시오. 만약 홀수 번째 위치의 합과 짝수 번째 위치의 합을 같게 만들 수 없다면 -1을 출력한다.

입력

첫째 줄에 수열의 길이 NN이 주어진다. (3≤N≤100,000)(3 \le N \le 100\\,000)

둘째 줄에 길이가 NN인 수열 A_1,A_2,A_3,⋯ ,A_NA\_1, A\_2, A\_3, \cdots, A\_N이 공백으로 구분되어 주어진다. (−100,000≤A_i≤100,000)(-100\\,000 \le A\_i \le 100\\,000)

출력

홀수 번째 위치의 합과 짝수 번째 위치의 합을 같게 만들기 위한 최소 연산 수를 출력한다. 불가능하다면 -1을 출력한다.

예제5

  1. 예제 1

    입력
    4
    1 1 1 1
    
    예상 출력
    0
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    
    예상 출력
    3
    
  3. 예제 3

    입력
    5
    2 1 2 1 2
    
    예상 출력
    4
    
  4. 예제 4

    입력
    3
    0 1 0
    
    예상 출력
    1
    
  5. 예제 5

    입력
    3
    1 0 1
    
    예상 출력
    -1