10月20日 过桥
题目
分析
DP
f[i]=min(f[i-1]+a[i]+a[1],f[i-2]+a[i]+a[2]*2+a[1]);
代码
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 using namespace std; 5 6 int a[1010],f[1010],n; 7 8 int main(){ 9 cin>>n; 10 for (int i=1;i<=n;i++) 11 cin>>a[i]; 12 sort(a+1,a+n+1); 13 f[1]=a[1]; 14 f[2]=a[2]; 15 for (int i=3;i<=n;i++) 16 f[i]=min(f[i-1]+a[i]+a[1],f[i-2]+a[i]+a[2]*2+a[1]); 17 cout<<f[n]<<endl; 18 return 0; 19 }
为何要逼自己长大,去闯不该闯的荒唐