码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3253 Fence Repair

时间:2017-01-30 17:09:51      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:loading   min   main   common   pair   ges   ima   png   while   

技术分享传送门:http://poj.org/problem?id=3253

技术分享

技术分享

这是一个贪心问题。

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 using namespace std;
 6 
 7 const int MAXN=200005;
 8 long long a[MAXN];
 9 
10 long long solve(int N){
11     long long ans=0;
12 
13     while(N>0){
14         int min1=0,min2=1;
15 
16         if(a[min2]<a[min1])
17             swap(a[min1],a[min2]);
18 
19         for(int i=2;i<=N;i++){
20             if(a[i]<a[min2])
21                 swap(a[i],a[min2]);
22             if(a[min2]<a[min1])
23                 swap(a[min1],a[min2]);
24         }
25 
26         ans+=(a[min1]+a[min2]);
27         a[min1]+=a[min2];
28         swap(a[min2],a[N]);
29         N--;
30     }
31     return ans;
32 }
33 
34 int main(){
35     int N;
36     cin>>N;
37     for(int i=0;i<N;i++)
38         cin>>a[i];
39     cout<<solve(N-1)<<endl;
40 
41 }

 

POJ 3253 Fence Repair

标签:loading   min   main   common   pair   ges   ima   png   while   

原文地址:http://www.cnblogs.com/IKnowYou0/p/6358153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!