#include<bits/stdc++.h>
using namespace std;
int n;
int a[10001];
int dp[10001];
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
dp[1]=a[1];
for(int i=2;i<=n;i++){
dp[i]=a[i];
for(int j=1;j<i;j++){
if(dp[i]>a[j])dp[i]=a[j]+a[i];
}
}
for(int i=1;i<=n;i++){
cout<<dp[i]<<' ';
}
return 0;
}
想法:
1~n的ai各枚举一遍,并将结果存入dpi,依次输出dp1,dp2,dp3,dp4,...,dpi,...,dpn