[codeforcec round# 1749 B]Death's Blessing(乱搞)

 

 

 

题目大意:给定t组数据,每组数据包含一个整数n,2行n个数,表示怪兽的血量和杀死之后会给两边的怪物加的血量

杀死一只怪物需要消耗与血量相同的时间

问最短通关时间

 

菜狗的思考:

给的怪兽不成环形,所以杀两边的怪物的收益是杀中间的怪

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int T;
    cin >> T;
    while (T--)
    {
        long long int i, n, mx = 0, x, ans = 0;
        cin >> n;
        for (i = 0; i < n; i++)
            cin >> x, ans += x;
        for (i = 0; i < n; i++)
            cin >> x, ans += x, mx = max(mx, x);
        cout << ans - mx << "\n";
    }
    system("pause");
    return 0;
}

 

物的一半。

之后,只需要保证最大的那一个怪兽最后被杀死,就能保证最小的时间消耗

/*真正的思考历程远没有这么简单,蒟蒻许久没有看oi题,已经变成什么都不会的废物了qwq*/

 

posted @ 2022-10-25 23:22  阿基米德的澡盆  阅读(37)  评论(0编辑  收藏  举报