Codeforces 604B - More Cowbell

604B - More Cowbell

思路:贪心。如果有些盒子装一个,那就只装最大的那几个。然后剩下的最大的和最小的合在一起装一个盒子,第二大和第二小的合在一起。。。。。。以此类推。

记录最大的盒子容量。

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5;
int s[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n,k;
    cin>>n>>k;
    for(int i=0;i<n;i++)
    {
        cin>>s[i];
    }
    int d=k*2-n;
    int ans=0;
    for(int i=n-1;i>=n-d&&i>=0;i--)ans=max(ans,s[i]);
    n=n-d;
    if(n>=0)for(int i=0;i<n;i++)
    {
        ans=max(ans,s[i]+s[n-i-1]);
    }
    cout<<ans<<endl;
    return 0;
}

 

posted @ 2017-07-24 15:36  Wisdom+.+  阅读(232)  评论(0编辑  收藏  举报