CodeForces

来源:互联网 发布:使命召唤14二战 知乎 编辑:程序博客网 时间:2024/05/22 08:26

A. Line to Cashier
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Little Vasya went to the supermarket to get some groceries. He walked about the supermarket for a long time and got a basket full of products. Now he needs to choose the cashier to pay for the products.

There are n cashiers at the exit from the supermarket. At the moment the queue for the i-th cashier already has ki people. The j-th person standing in the queue to the i-th cashier has mi, j items in the basket. Vasya knows that:

  • the cashier needs 5 seconds to scan one item;
  • after the cashier scans each item of some customer, he needs 15 seconds to take the customer's money and give him the change.

Of course, Vasya wants to select a queue so that he can leave the supermarket as soon as possible. Help him write a program that displays the minimum number of seconds after which Vasya can get to one of the cashiers.

Input

The first line contains integer n (1 ≤ n ≤ 100) — the number of cashes in the shop. The second line contains n space-separated integers: k1, k2, ..., kn (1 ≤ ki ≤ 100), where ki is the number of people in the queue to the i-th cashier.

The i-th of the next n lines contains ki space-separated integers: mi, 1, mi, 2, ..., mi, ki (1 ≤ mi, j ≤ 100) — the number of products the j-th person in the queue for the i-th cash has.

Output

Print a single integer — the minimum number of seconds Vasya needs to get to the cashier.

Examples
input
111
output
20
input
41 4 3 21001 2 2 31 9 17 8
output
100
题意:有n名收银员,每个收银员前有s[i]个人,每个人手里有k个东西,收银员扫描一个物体花5秒,给人找零用15秒,找出所有收银员结算完用时最短的。

AC代码:

#include<cstdio>#include<algorithm>using namespace std;int main(){int n;int s[110],s1;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&s[i]);}int sum=0,minn=99999999;for(int i=1;i<=n;i++){sum=0;for(int j=1;j<=s[i];j++){scanf("%d",&s1);sum+=5*s1;}sum+=15*s[i];minn=min(sum,minn);}printf("%d",minn);return 0;} 






原创粉丝点击