比赛 2024暑假C班集训5 评测结果 WWWWWWWWWW
题目名称 任务 最终得分 0
用户昵称 健康铀 运行时间 0.007 s
代码语言 C++ 内存使用 0.58 MiB
提交时间 2024-07-05 11:50:37
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a[2010],b[2010],n,f[2010][2],a1[2010],b1[2010];
int main(){
    freopen("task.in","r",stdin);
    freopen("task.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i]>>b[i];
        a1[i]=a1[i-1]+a[i];
        b1[i]=b1[i-1]+b[i];
    }
    f[1][1]=a[1];
    f[1][2]=a[2];
    for(int i=2;i<=n;i++){
        for(int k=i-1;k>=0;k--){
            f[i][1]=min(f[i-1][1]+a[i],f[k][1]+max(b1[i-1]-b1[k],a[i]));
        }
        for(int k=i-1;k>=0;k--){
            f[i][2]=min(f[i-1][2]+b[i],f[k][2]+max(a1[i-1]-a1[k],b[i]));
        }
    }
    cout<<min(f[n][1],f[n][2]);
    return 0;
}