Nhặt tiền
Submit solution
Points:
2 (partial)
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Trong một giấc mơ, ông Bụt hiện lên và cho Duy n tờ tiền. Duy được phép nhặt k tờ tiền trong đấy. Duy rất tham lam nên muốn nhặt sao cho được nhiều tiền nhất có thể. Các bạn hãy tính thử số tiền lớn nhất mà Duy có thể nhặt được.
Input
Dòng đầu gồm 2 số nguyên dương n,k (1<=n,k<=\(10^5\))
Dòng thứ hai gồm n số nguyên dương (a1,a2…an) đại diện cho giá trị các tờ tiền (1<=a[i]<=\(10^3\))
Output
Một dòng duy nhất là số tiền lớn nhất mà Duy có thể nhặt được
Ví dụ
Input
5 3
30 8 17 21 50
Output
101
Giải thích k=3 => Duy nhặt 3 tờ tiền là 50,21,30 sẽ thu được số tiền lớn nhất là 101
Comments
Test 3,4 là trường hợp n < k. Vòng for bạn cải tiến thành như này nhé: for(int i=0;i<min(n,k);i++)
Xin test 3 với test 4 ạ :(((