Ac

Lee  •  2个月前


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;

}


评论:

请先登录,才能进行评论