小 I 买不到票

小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣的事。

既然去了天津,那天津之眼就不得不去看了。小 I 跟他的同学们第一天傍晚就去了天津之眼,但是无奈的是票已经卖完了。

在外面看着天津之眼,小 I 在想,明天该什么时候来呢?明天的气温可是高的离谱,如果等的时间太长可能要被晒成干了。

我们假设,如果想买到票,就必须等两个小时。

假如小 I 一开始有 100 的忍耐值,每个小时都有不同的气温,会减少一定的忍耐值,如果连着两个小时减少的忍耐值超过 100 ,则小 I 不会选择那个时间段去排队。

在排队之后,他会马上去坐天津之眼,即如果他在 15 点、 16 点排队,则他会在 17 点去坐天津之眼。

每个时间段坐天津之眼获得的享受也不同。

现在,他想选出一个开始排队的时间,在能忍受排队 2 小时的炎热的基础上,获得最大的享受。如果有多个开始排队的时间能获得最大的享受,则输出减少的忍耐值最少的那一个。(不会再出现减少的忍耐值也相同)

你能帮他选出这个最佳的开始排队的时间吗?

Input

多组输入,对于每组输入:
•第一行有 13 个数,表示 8 点 – 20 点每个小时会减少的忍耐值。(保证对每个数num,有1<=num<=100)
•第二行有 13 个数,表示 10 点 – 22 点每个小时坐天津之眼获得的享受值。(保证对每个数num2,有1<=num2<=10)

Output

对于每组输入,输出一行,表示小 I 最好在几点开始排队。(其实根据题意,输出一定是在 8 - 19 内的一个整数)

如果不存在合适的时间,则输出 -1。

Sample Input

10 15 25 30 40 50 60 50 40 40 30 25 20
1 1 1 1 1 1 10 1 2 2 5 7 7

Sample Output

19

Hint

在 16 时去坐天津之眼时有最大的享受值,但是 14 时、15 时减少的忍耐值为 60 + 50 = 110 > 100 ,所以不能选择 14 时为开始排队的时间。
在 18 时、19 时去坐有第二高的享受值,而在 19 时 、20 时排队减少的忍耐值比在 18 时、19 时获得的享受值相同但减少的忍耐值少,所以最佳的开始排队时间是 19 时。

Source

【2017级《程序设计基础(B)II》期末上机考试】IceCapriccio

#include<bits/stdc++.h>
using namespace std;
int ren[15], xiang[15];
int main()
{

    while(~scanf("%d", &ren[0]))
    {
        for(int i = 1;i < 13; i++) scanf("%d", &ren[i]);
        for(int i = 0;i < 13; i++) scanf("%d", &xiang[i]);
        int Max = 0;
        int Min;
        int ans = -1;
        for(int i = 0;i < 12; i++)
        {
            int a = ren[i] + ren[i+1];
            if(a <= 100 )
            {
                if(xiang[i] > Max)
                {
                    Max = xiang[i];
                    ans = i;
                    Min = a;
                }
                else if(xiang[i] == Max)
                {
                    if(a < Min)
                    {
                        ans = i;
                        Min = a;
                    }
                }
            }
        }
        if(ans != -1) printf("%d\n", ans+8);
        else printf("-1\n");
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值