记录编号 602360 评测结果 WWAAAAAWWTA
题目名称 4162.兔子集团军 最终得分 55
用户昵称 Gravatar梧叶已同秋雨去 是否通过 未通过
代码语言 C++ 运行时间 6.577 s
提交时间 2025-07-03 17:26:54 内存使用 20.96 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long n,c[1000005],v[1000005],f[1000005]; 
long long b[1000005],e[100005];
long long fa[1000005],h[1000005],sum;
struct tree{
	long long l,r,sum,d;
}t[1000005];
int main(){
	freopen("RRR.in","r",stdin);
	freopen("RRR.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>c[i];
		b[c[i]]=i;
		if(e[c[i]]==0){
			e[c[i]]=i;
		}
		sum=max(sum,c[i]);
	}
	for(int i=1;i<=n;i++){
		cin>>v[i];
	}
	for(int i=1;i<=n;i++){
		cin>>f[i];
	}int cnt=0;
	for(int i=1;i<=n;i++){
		t[c[i]].l=e[c[i]];
		t[c[i]].r=b[c[i]];
	} 
	for(int i=1;i<=n;i++){
		if(t[cnt].r<e[c[i]]){
			cnt=c[i];
			//printf("%d %lld c[i]:%lld %lld cnt %lld %lld\n",i,c[i],t[c[i]].l,t[c[i]].r,t[cnt].l,t[cnt].r);
		}
		if(t[cnt].l<=i&&t[cnt].r>=i){
			if(t[c[i]].l<t[cnt].l||t[cnt].r<t[c[i]].r){
				t[cnt].l=min(t[c[i]].l,t[cnt].l);
				t[cnt].r=max(t[cnt].r,t[c[i]].r);
				t[c[i]].l=t[cnt].l;
				t[c[i]].r=t[cnt].r;
				//printf("%d %lld c[i]:%lld %lld cnt %lld %lld\n",i,c[i],t[c[i]].l,t[c[i]].r,t[cnt].l,t[cnt].r);
			}
			if(t[c[i]].l>t[cnt].l&&t[cnt].r>t[c[i]].r){
				cnt=c[i];
				//printf("%d %lld c[i]:%lld %lld cnt %lld %lld\n",i,c[i],t[c[i]].l,t[c[i]].r,t[cnt].l,t[cnt].r);
			}	
		}
			
	}
	int yoyo=0;
	for(int i=1;i<=n;i++){
		if(t[h[yoyo]].r<i){
			h[++yoyo]=c[i];
		}
		if(t[h[yoyo]].l<=i&&t[h[yoyo]].r>=i){
			if(t[h[yoyo]].l<t[c[i]].l&&t[h[yoyo]].r>t[c[i]].r)
				h[yoyo]=c[i];
			if(t[h[yoyo]].l>t[c[i]].l&&t[h[yoyo]].r<t[c[i]].r){
				t[h[yoyo]].l=t[c[i]].l;t[h[yoyo]].r=t[c[i]].r;
			}
		}
	}
	long long ans=9223372036854775807;n=sum;
	for(int i=1;i<=yoyo;i++){
		int xy=h[i];
		for(int j=t[xy].l;j<=t[xy].r;j++){
			t[xy].sum+=(v[j]*f[j-t[xy].l+1]*f[j-t[xy].l+1]);
		}
		//cout<<t[xy].l<<" "<<t[xy].r<<" "<<t[xy].sum<<"\n";
		if(t[xy].sum){
			ans=min(ans,t[xy].sum);
		}
	}
	cout<<ans;
	return 0;
}