PRATA  Roti Prata
IEEE is having its AGM next week and the president wants to serve cheese prata after the meeting. The subcommittee members are asked to go to food connection and get P(P<=1000) pratas packed for the function. The stall has L cooks(L<=50) and each cook has a rank R(1<=R<=8). A cook with a rank R can cook 1 prata in the first R minutes 1 more prata in the next 2R minutes, 1 more prata in 3R minutes and so on(he can only cook a complete prata) ( For example if a cook is ranked 2.. he will cook one prata in 2 minutes one more prata in the next 4 mins an one more in the next 6 minutes hence in total 12 minutes he cooks 3 pratas in 13 minutes also he can cook only 3 pratas as he does not have enough time for the 4th prata). The webmaster wants to know the minimum time to get the order done. Please write a program to help him out.
Input
The first line tells the number of test cases. Each test case consist of 2 lines. In the first line of the test case we have P the number of prata ordered. In the next line the first integer denotes the number of cooks L and L integers follow in the same line each denoting the rank of a cook.
Output
Print an integer which tells the number of minutes needed to get the order done.
Example
Input:
3
10
4 1 2 3 4
8
1 1
8
8 1 1 1 1 1 1 1 1
Output:
12
36
1
hide comments
narutorocks:
20160602 20:35:14
BINARY SEARCH JINDABAD


bholagabbar:
20150917 22:28:23
0.03 with priority queues. BS it times out 

sakshi:
20150913 10:43:42
AC in one go:) 

Claire Lightning Farron:
20150326 13:04:00
Good instance for practicing binary search. Last edit: 20150326 13:05:06 

Anirudh:
20141216 12:56:40
Priority Queue O(p*l) works but certainly not the fastest. 

Monyet:
20140828 10:19:07
How to solve this problem using priority queue? I used binary search, AC in 0.1s 

Archit Jain:
20140825 19:55:12
use priority queue 

Nitin Sharma:
20130811 19:49:07
Ranks given may not be in sorted order !! 

Parag gupta:
20120716 08:48:59
If L = 0 , then what should be the answer ?? 

BOND:
20111228 18:34:24
O(p*L) timed out...

Added by:  Saransh Bansal 
Date:  20110514 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 
Resource:  Own problem NTU IEEE codejam 2011 