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

utc

Comments


  • 0
    DuyAnhhh  commented on Sept. 29, 2022, 11:53 a.m.

    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++)


  • 0
    DinhTanTai_KTDKVaTDH2_K62  commented on Sept. 28, 2022, 4:54 p.m.

    Xin test 3 với test 4 ạ :(((