롤러코스터 타기
시간 제한1초메모리 제한128 MB
롤러코스터마다 k번째 탑승의 재미가 a_i-(k-1)^2*b_i이고 탑승 시간이 정해져 있을 때, 각 방문 시간 예산 안에서 얻을 수 있는 최대 총 재미를 Q개의 질의에 답한다.
문제
상근이와 친구들이 놀이공원에 놀러 갔다. 이 놀이공원에는 여러 종류의 롤러코스터가 있고, 상근이는 각 롤러코스터를 미리 분석해 두었다. 상근이는 각 롤러코스터를 탔을 때 느끼는 재미를 숫자로 적어 두었다. 하지만 같은 롤러코스터를 여러 번 탈수록 느끼는 재미는 점점 줄어든다.
상근이는 번 롤러코스터를 번째로 탔을 때 느끼는 재미를 다음 함수로 정의했다.
만약 가 양수가 아니라면, 그 롤러코스터를 더 타도 재미를 전혀 느끼지 못한다.
상근이는 재미의 합이 최대가 되도록 롤러코스터를 타려고 한다. 놀이공원에 머무를 수 있는 시간이 주어질 때, 롤러코스터를 타는 데 든 시간의 합이 그 시간을 넘지 않으면서 얻을 수 있는 재미의 최댓값을 구하면 된다. 각 롤러코스터를 한 번 타는 데에는 정해진 시간이 걸린다.
입력
첫째 줄에 롤러코스터의 개수 이 주어진다. ()
다음 개의 줄에는 각각 세 정수 , , 가 주어진다. 와 는 재미 함수의 계수이고, 는 번 롤러코스터를 한 번 타는 데 걸리는 시간이다. (, )
그다음 줄에는 놀이공원을 방문하는 횟수 가 주어진다. ()
다음 개의 줄에는 상근이가 놀이공원에 머무를 수 있는 시간 가 각각 주어진다. ()
출력
개의 줄을 출력한다. 각 방문 시간 에 대해, 롤러코스터를 타는 데 든 시간의 합이 를 넘지 않도록 하면서 상근이가 얻을 수 있는 재미의 최댓값을 한 줄에 출력한다.