后缀数组写起来简单,理解也比较简单。如果在原来的基础之上发功,就算开始发功的人收益但当后续的发功结束后该来的终究会来,之前小于他的糖糖也会被灭掉,所以从后往前是可以的,还容易维护一些 #include <bits/stdc++.h> using namespace std; #define ll long long struct node { ll a,b; }m[50007]; ll c[1000007]={0};///后缀小数组 int main() { ll t; scanf("%lld",&t); while (t--) { ll n,w; memset(c,0,s...