RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00016

買い物 3 (Shopping 3)

설명

JOI 商店には N 個の商品があり,商品には 1 から N までの番号が付けられている.商品 i ( \(1 \le i \le N\) ) の定価は A i である.

JOI 商店のインターネット通販では,商品を購入するときに単一の種類のクーポンを 0 枚以上の好きな枚数だけ使用することができる.JOI 商店のクーポンは Q 種類存在し,クーポンの種類には 1 から Q までの番号が付けられている.

種類 j ( \(1 \le j \le Q\) ) のクーポンを k 枚 ( \(k \ge 0\) ) 使用したときの効果は以下の通りである.

i = 1, 2, ..., N について,商品 i の価格が max (0, A i − D j × k) になる(ここで,max (0, A i − D j × k) は 0 と A i − D j × k のうち小さくないほうを表す).

商品の価格とは別に, C j × k の追加料金がかかる.

各クーポンの種類に対応して, Q 個の質問が考えられる. j 番目の質問は以下の通りである.

種類 j のクーポンのみを使用して N 個の商品を 1 つずつ買う場合,払う合計金額の最小値は何か.

商品とクーポンの情報が与えられたとき,各質問への答えを求めるプログラムを作成せよ.

제약

1 ≦ N ≦ 300 000 .

1 ≦ Q ≦ 300 000 .

1 ≦ A i ≦ 10 9 ( \(1 \le i \le N\) ).

1 ≦ C j ≦ 10 9 ( \(1 \le j \le Q\) ).

1 ≦ D j ≦ 10 9 ( \(1 \le j \le Q\) ).

入力される値はすべて整数である.

( 6 点) N = 1 , Q ≦ 3 000 .

( 3 点) \(N \le 100\) , \(Q \le 100\) , A i ≦ 100 ( \(1 \le i \le N\) ).

( 8 点) N ≦ 3 000 , Q ≦ 3 000 , D j = 1 ( \(1 \le j \le Q\) ).

( 22 点) N ≦ 3 000 , Q ≦ 3 000 .

( 15 点) D j = 1 ( \(1 \le j \le Q\) ).

( 18 点) A i ≦ 1 000 000 ( \(1 \le i \le N\) ).

( 28 点) 追加の制約はない.

입력 형식

入力は以下の形式で与えられる.

N Q

A 1 A 2 ... A N

C 1 D 1

:

C Q D Q

출력 형식

Q 行出力せよ. j 行目 ( \(1 \le j \le Q\) ) には, j 番目の質問への答えを出力せよ.

예제 1
입력
3 4
8 10 3
12 5
3 2
3 4
100 100
출력
20
14
8
21
예제 2
입력
1 3
83
2 5
4 5
6 5
출력
34
67
83
예제 3
입력
15 3
3 1 4 1 5 9 2 6 5 3 5 8 9 7 9
1 1
10 1
20 1
출력
9
67
77
예제 4
입력
6 3
1000000000 999999999 999999998 999999997 999999996 999999995
1000000000 1
1 1000000000
900000000 900000000
출력
5999999985
1
1499999985
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2026 Preliminary 2

평가 및 의견

買い物 3 (Shopping 3)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

買い物 3 (Shopping 3)

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8