Ac

Lee · 发布于 2025-01-19 · 浏览 364 回复 0

include<bits/stdc++.h>

using namespace std; int c[1000001],v[1000001]; long long dp[1000001]; long long l[1000001]; long long sum[1000001]; int main(){

int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
	cin>>c[i];
}
for(int i=1;i<=n;i++){
	cin>>v[i];
	sum[i]=sum[i-1]+v[i];
}
memset(l,0x3f,sizeof l);
for(int i=1;i<=n;i++){
	dp[i]=max(dp[i-1],sum[i]-l[c[i]]);
	l[c[i]]=min(l[c[i]],sum[i-1]-dp[i-1]);
}
cout<<dp[n];
return 0;

}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复