낼 수 없는 최소 금액
시간 제한4초메모리 제한512 MB
각 구간 쿼리마다 그 구간에 속한 동전들의 부분집합 합으로 만들 수 없는 가장 작은 양의 금액을 구한다.
문제
보리스는 동전 개를 모았다. 동전을 한 줄로 늘어놓았고, 줄에서 번째 동전의 가치는 이다.
보리스는 여행을 떠나려 하지만 시간이 부족해서, 줄에서 서로 붙어 있는 동전 구간 하나를 통째로 들고 가려고 한다.
보리스는 질문 여러 개에 답하고 싶다. 각 질문마다 번째 동전부터 번째 동전까지 들고 갔을 때, 거스름돈을 받지 않고는 낼 수 없는 최소 금액이 궁금하다. 정확히 말하면 번째부터 번째까지의 동전 중에서 어떻게 골라도 가치의 합이 가 되지 않는, 가장 작은 양의 정수 를 구해야 한다.
입력
첫째 줄에 동전의 개수 과 질문의 개수 이 주어진다 (). 둘째 줄에 동전의 가치 가 개 주어진다 ().
다음 개의 줄에 질문이 하나씩 주어진다. 각 줄에는 보리스가 들고 가는 동전 구간의 시작과 끝을 뜻하는 정수 와 가 주어진다 ().
출력
각 질문마다 번째 동전부터 번째 동전까지로는 거스름돈 없이 낼 수 없는 최소 금액을 한 줄에 하나씩 출력한다.