全WA求调,样例能过
查看原帖
全WA求调,样例能过
726444
taikongsha楼主2025/7/23 16:27
// Problem: I - 染色
// Contest: Virtual Judge - 普及~提高难度dp练习
// URL: https://vjudge.net/contest/731026#problem/I
// Memory Limit: 1024 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll N=2e6+10;

ll t,n;
ll a[N],dp[N];
ll la[N],sum[N];

void solve(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		la[a[i]]=0;
		dp[i]=0;
		sum[i]=sum[i-1]+a[i]*(a[i]==a[i-1]);
	}
	for(int i=1;i<=n;i++){
		dp[i]=dp[i-1];
		if(la[a[i]]>0){
			dp[i]=max(dp[i],dp[la[a[i]]+1]+a[i]+sum[i-1]-sum[la[a[i]]]);
		}
		la[a[i]]=i;
		// cout<<dp[i]<<' ';
	}
	cout<<dp[n]<<'\n';
}

int main(){
	cin>>t;
	while(t--){
		solve();
	}
	return 0;
}
2025/7/23 16:27
加载中...