记录编号 |
602311 |
评测结果 |
TTTTAAATTTA |
题目名称 |
4162.兔子集团军 |
最终得分 |
36 |
用户昵称 |
汐汐很希希 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
14.389 s |
提交时间 |
2025-07-03 15:41:57 |
内存使用 |
46.23 MiB |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
vector<int> w[N];
ll n,c[N],v[N],f[N],ans=0x3f3f3f3f;
bool pd(int l,int r)
{
for(int i=l;i<=r;i++) if(w[c[i]].front()<l||r<w[c[i]].back()) return false;
return true;
}
ll q(int l,int r)
{
ll sum=0;
for(int i=l;i<=r;i++) sum+=v[i]*f[i-l+1]*f[i-l+1];
return sum;
}
int main()
{
freopen("RRR.in","r",stdin);
freopen("RRR.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>c[i];
w[c[i]].push_back(i);
}
for(int i=1;i<=n;i++) cin>>v[i];
for(int i=1;i<=n;i++) cin>>f[i];
for(int len=1;len<n;len++){
for(int i=1;i+len-1<=n;i++){
int j=i+len-1;
if(pd(i,j)) ans=min(ans,q(i,j));
}
}
cout<<ans<<endl;
return 0;
}