题解:B4168 [GXPC-S 2024] 分糖果
设
考虑转移,假设要求
时间复杂度
#include <iostream>
using namespace std;
using LL = long long;
const int kN = 1e5 + 5;
int n;
int a[kN];
int main () {
cin.tie(0)->sync_with_stdio(0);
cin >> n;
for (int i = 1; i <= n; ++i)
cin >> a[i];
LL dp = 0, sum = 0;
for (int i = n; i; --i)
dp = max(dp, a[i] + sum - dp), sum += a[i];
cout << dp << '\n';
return 0;
}