2688 - 买东西的难题
时间限制 : 2 秒
内存限制 : 2048 MB
Vasya去超市买东西,挑选完要买的东西后来到了结账处。
超市的出口处有n<span>个收银员,结账的人已经在这里排起了长队。第</span><span>i</span><span>条队伍中共有</span><span>ki</span><span>个人,其中第</span><span>i</span><span>列的第</span><span>j</span><span>个人的购物筐里有</span><span>mij</span><span>样东西。现已知:</span>
收银员每<span>5</span><span>秒扫描一样东西;</span>
每位顾客算完帐后需要<span>15</span><span>秒时间收钱找钱;</span>
当然,<span>Vasya</span><span>想选一列时间最短的队伍排队。帮他写一个程序算出可能的最短秒数。</span>
(单击提示有说明)
<br />
<br />
题目输入
第一行是一个整数<span>n</span>(1<span> ≤ </span>n ≤ <span>100</span>),代表超市收银员的数量;第二行有<span>n</span><span>个空格分隔的整数</span><span>k1</span><span>、</span><span>k2</span><span>、……</span><span>kn</span> (1<span> ≤ </span>ki ≤ <span>100</span>),<span>ki</span><span>表示第</span><span>i</span><span>个收银员前的队列人数;接下来有</span><span>n</span><span>行,第</span><span>i</span><span>行有</span><span>ki</span><span>个数,</span>mi,<span> </span><span>1</span>,<span> </span>mi,<span> </span><span>2</span>,<span> </span><span>...,</span><span> </span>mi,<span> </span>ki (1<span> ≤ </span>mi,<span> </span>j ≤ <span>100</span>)表示队伍中第<span>j</span><span>个人有</span>mi,<span> </span>j项物品。
<br />
<span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span>
题目输出
独占一行的一个整数,代表用时最短的队伍秒数。
输入/输出样例
输入格式
2 1 1 1 4 1 4 3 2 100 1 2 2 3 1 9 1 7 8
输出格式
20 100
C++解答
#include<stdio.h> #define inf 0x3f3f3f int num[1007]; int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,t; scanf("%d\n",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&num[i]); int a,count,maxx=inf; for(int i=1;i<=n;i++) { count=0; for(int j=1;j<=num[i];j++) { scanf("%d",&a); count+=a; } count=count*5+num[i]*15; if(count<maxx)maxx=count; } printf("%d\n",maxx); } return 0; }