ソートの練習!
問題概要
個の整数
から
選んで総和をとる。
総和を取った値の最大値を求めよ。
制約
考えたこと
個の整数
を大きい順に並べておいて、大きい順に
個とって足せばよい。
C++ では、大きい順にソートするのは
sort(l.begin(), l.end(), greater<int>());
と書ける。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, K; cin >> N >> K; vector<int> l(N); for (int i = 0; i < N; i++) cin >> l[i]; sort(l.begin(), l.end(), greater<int>()); int res = 0; for (int i = 0; i < K; i++) res += l[i]; cout << res << endl; }