D. Yet Another Monster Fight
Description
有
每次魔法需要选择一个起始位置
然后每次需要选择一个没有被施魔法的且与一个已经施魔法的怪兽相邻的怪兽施魔法。若这个怪兽是第
请你选择一个初始血量
Solution
我们枚举第一个受攻击的怪兽
考虑对于一个怪兽
综上,如果第一个攻击的怪兽是
定义
很显然
Code
int n, a[N];
int x[N], y[N], res = INF;
signed main()
{
n = read();
fup (i, 1, n) a[i] = read();
fup (i, 1, n) x[i] = Max(x[i - 1], a[i] + n - i);
fdw (i, n, 1) y[i] = Max(y[i + 1], a[i] + i - 1);
fup (i, 1, n)
{
// 第一个目标为 i
res = Min(res, Max(a[i], Max(x[i - 1], y[i + 1])));
}
wel(res);
return 0;
}