전투 시뮬레이션
시간 제한2초메모리 제한1024 MB
부호가 있는 전투력의 연속 구간을 두 팀으로 나누고, 각 팀이 전체 인원의 3분의 2를 넘지 않게 하면서 두 팀 전투력 차이의 최솟값을 구합니다.
문제
Cube219는 전투 시뮬레이션 게임을 즐겨 한다. 이 게임에서는 길이가 인 공간에 1번부터 번까지 병사들이 일렬로 서 있다. 번째 병사는 전투력 를 가진다. 전투력은 음수가 될 수도 있다.
Cube219는 번의 전투 시뮬레이션을 하려 한다. 번째 전투에서는 번째부터 번째까지 연속된 구간을 고르고, 이 구간을 와 라는 연속된 두 팀으로 나눈다. 팀의 전투력은 팀에 속한 병사들의 전투력 합으로 정해진다.
Cube219는 전투가 치열하게 일어나는 것을 좋아하므로, 두 팀의 전투력 차이가 최소가 되도록 팀을 나누려 한다. 다만 병사 수 차이가 지나치게 큰 것도 싫어서, 한 팀의 크기가 전체 전투 구간의 를 넘지 않도록 한다. 이 조건을 만족하면서, 각 전투 시뮬레이션마다 두 팀 전투력 차이의 최솟값을 구하시오.
입력
첫 번째 줄에 구간의 길이 이 주어진다. ()
두 번째 줄에 개의 정수 이 공백으로 구분되어 주어진다. () 는 번째 병사의 전투력이다.
세 번째 줄에 전투 시뮬레이션 횟수 가 주어진다. ()
네 번째 줄부터 개의 줄에 걸쳐 정수 가 공백으로 구분되어 주어진다. (; 은 3의 배수) 는 번째 전투 시뮬레이션 구간의 왼쪽 끝과 오른쪽 끝 위치이다.
출력
개의 줄에 각 전투 시뮬레이션의 답, 즉 두 팀 전투력 차이의 최솟값을 한 줄에 하나씩 출력한다.