题意:
n n n 只怪物围成一圈,每只怪物拥有体力 a a a 和爆炸伤害 b b b 如果怪物 i i i 死亡,则与他相邻的下一只怪物将受到 b i b_i bi 点伤害,每次你能随便挑一只怪物开一枪,那只怪物的体力将会降低 1 1 1 点,问至少需要开多少枪才能解决掉所有怪物。
AC代码:
ll ar[300050], br[300050];
int main()
{
int t;
sd(t);
while (t--)
{
int n;
ll k = 0, minn = INF, d;
sd(n);
rep(i, 0, n - 1)
{
sldd(ar[i], br[i]);
d = ar[i] - br[i - 1];
if (i)
{
if (d > 0)
minn = min(minn, br[i - 1]), k += d;
else
minn = min(minn, ar[i]);
}
}
d = ar[0] - br[n - 1];
if (d > 0)
minn = min(minn, br[n - 1]), k += d;
else
minn = min(minn, ar[0]);
pld(k + minn);
}
return 0;
}