记录编号 602311 评测结果 TTTTAAATTTA
题目名称 4162.兔子集团军 最终得分 36
用户昵称 Gravatar汐汐很希希 是否通过 未通过
代码语言 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;
}