100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 小 I 买不到票

小 I 买不到票

时间:2024-01-29 01:43:12

相关推荐

小 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

【级《程序设计基础(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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。