题解 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;
}

浙公网安备 33010602011771号