P17728 [SCP-J 2026] 染色 / color 题解
Zskioaert1106 · · 题解
题目传送门:P17728 [SCP-J 2026] 染色 / color
目前给代码的题解好像没有这样简单完全不分讨的,害得我还以为自己橙题的思路都能假,原来只是太🍬了啊。
题目分析
首先答案就是两种颜色的最末元素减最初元素,而
条件是
所以维护一个后缀
关键是一个数可以即加又减,但不能加两次/减两次,即
代码实现
#include<iostream>
using namespace std;
constexpr int N=200005;
int n,ans,mx,a[N];
int main(){
ios::sync_with_stdio(0),cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=n;i>1;i--)mx=max(mx,a[i-1]),ans=max(ans,mx-a[i]);
cout<<ans-a[1]+a[n];
return 0;
}
AC 记录。
参赛感言
卡了卡了。