#include<bits/stdc++.h> usingnamespace std; #define ll long long constint INF = 0x3f3f3f3f; const ll inf = 0x3f3f3f3f3f3f3f3f; constint N = 2e6 + 10; const ll mod = 1e9 + 7; int n; int a[N]; int T; intmain(){ scanf("%d", &T); while (T--) { scanf("%d", &n); int s = 0, mx = 0; for (int i = 1; i <= n; i++)scanf("%d", &a[i]), mx = max(mx, a[i]), s += a[i]; if (mx > s / 2)puts("T"); elseif (s & 1)puts("T"); elseputs("HL"); } return0; }
C. Monster Invaders
题意:小怪1滴血,boss2滴血。三种武器:第一种选择对一个小怪造成1点伤害,第二种对所有该阶段的怪物(包括boss)造成1点伤害,第三种直接秒杀一个怪物(小怪或boss),三种武器每次使用的代价分别为 r1≤r2≤r3。有 n 个阶段,每阶段有 a[i] 个小怪和 1 个boss,第一和第三种武器必须击杀该阶段所有小怪后才能对boss使用。若伤害boss但未击杀,则强制传送到相邻某个阶段,也可以在任意时候自愿传送,每次传送代价为 d。问击杀所有怪物最小总代价。