#P5085. 「FJSC2018PJD8T1」开心的金明

「FJSC2018PJD8T1」开心的金明

Description

(给定预算 NNmm 种物品的价格 viv_i 重要度 wiw_i,选取一些总价值不超过 NN 的物品同时使选择的所有物品 viwiv_i * w_i 之和最大,以下是原题面。)


金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。

更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 NN 元钱就行”。

今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的 NN 元。对于一个想买的物品,金明至多只能买一个。

于是,他把每件物品规定了一个重要度,分为五等:用整数 11 ~ 55 表示,第五等最重要。

他还从因特网上查到了每件物品的价格(都是整数元)。

他希望在不超过 NN 元的前提下,使每件物品的价格与重要度的乘积的总和最大。

设第j件物品的价格为 v[j]v[j],重要度为 w[j]w[j],共选中了 kk 件物品,编号依次为 j1,j2,,jkj_1, j_2, \cdots, j_k,则所求的总和为:

v[j1]w[j1]+v[j2]w[j2]++v[jk]w[jk]v[j_1]*w[j_1]+v[j_2]*w[j_2]+ …+v[j_k]*w[j_k]

请你帮助金明设计一个满足要求的购物单。

Input Format

从文件 happy.in输入:

第一行有两个正整数 NNmm, 其中 NN<30000<30000)表示总钱数,mm<25<25)为希望购买物品的个数。

从第 22 行到第 m+1m+1 行,第 jj 行给出了编号为 j1j-1 的物品的基本数据,每行有22个非负整数 vvpp,其中 vv 表示该物品的价格( v10000v \le 10000 ),pp 表示该物品的重要度( 11 ~ 55 ))

Output Format

向文件 happy.out 输出:

输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值。

Sample

输入样例 1 happy.in

1000 5
800 2
400 5
300 5
400 3
200 2

输出样例 1 happy.out

 3900 

Hint

N30000 N \leq 30000m25m \leq 25v10000v \leq 100001p51 \leq p \leq 5

保证答案不超过 10910^9