题解 AT795 【AtCoderプログラミング講座】

我喜欢STL

  • vector常数小,于是我像用vector+sort,比通常数组速度快

先说思路:

  • 要c最大,数组要选的数尽可能大

  • 先把小的抵消掉,后面再用大的

代码,79ms:

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
using namespace std;

vector<double> vec;

int main()
{
    double n, k, c = 0;
    cin >> n >> k;
    vec.resize(n);
    for(vector<double>::iterator it = vec.begin(); it != vec.end(); ++it)
    {
        cin >> *it;
    }
    sort(vec.begin(), vec.end(), greater<int>());
    for(int i = k - 1; i >= 0; i--)
    {
        c = (c + vec[i]) / 2;
    }
    cout << fixed << setprecision(6) << c << endl;
    return 0;
}
posted @ 2020-11-13 18:42  HappyBobb  阅读(10)  评论(0)    收藏  举报  来源