알고리즘/백준

[백준/c++] 20115번: 에너지 드링크

녕이 2022. 7. 12. 22:36
728x90

 

https://www.acmicpc.net/problem/20115

 

20115번: 에너지 드링크

페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한

www.acmicpc.net

 

에너지 드링크를 역순으로 정렬하고, 앞에서부터 뒷 원소의 절반만 더하면 된다.

최대한 많은 양을 만들어야 하므로 많은 양의 에너지 드링크는 당연히 덜 나눠져야 하기 때문^^

 

 

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

int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int n;
    vector<int> v;
    cin >> n;
    for(int i=0; i<n; i++){
        int m;
        cin >> m;
        v.push_back(m);
    }
    sort(v.begin(), v.end(), greater());
    
    double a = v[0];
    for(int i=1; i<n; i++){
        double b = a + ((double)v[i] / 2);
        a = b;
    }
    cout << a << '\n';
    return 0;
}

 

 

 

 

 

 

728x90