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 }

 

posted @ 2018-10-27 13:04  Melted_czj  阅读(130)  评论(0编辑  收藏  举报
body { background-color:whitesmoke; } // 修改背景颜色为半透明 #home,#sideBarMain>div,#blog-sidecolumn>div>div,.catListView{ background-color:rgba(255,255,255,0); } // 修改其他边框的颜色