[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*/