Problem:
Score : 300 points

Problem Statement

Fennec is fighting with N monsters.

The health of the i-th monster is H_i.

Fennec can do the following two actions:

Attack: Fennec chooses one monster. That monster's health will decrease by 1.

Special Move: Fennec chooses one monster. That monster's health will become 0.

There is no way other than Attack and Special Move to decrease the monsters' health.

Fennec wins when all the monsters' healths become 0 or below.

Find the minimum number of times Fennec needs to do Attack (not counting Special Move) before winning when she can use Special Move at most K times.

Constraints

1 \leq N \leq 2 \times 10^5

0 \leq K \leq 2 \times 10^5

1 \leq H_i \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N K
H_1 ... H_N

Output

Print the minimum number of times Fennec needs to do Attack (not counting Special Move) before winning.

Sample Input 1

3 1
4 1 5

Sample Output 1

5

By using Special Move on the third monster, and doing Attack four times on the first monster and once on the second monster, Fennec can win with five Attacks.

Sample Input 2

8 9
7 9 3 2 3 8 4 6

Sample Output 2

0

She can use Special Move on all the monsters.

Sample Input 3

3 0
1000000000 1000000000 1000000000

Sample Output 3

3000000000

Watch out for overflow.

Solution in Python (3.8.2) (judge verdict: Accepted)

# abc153_c.py
# https://atcoder.jp/contests/abc153/tasks/abc153_c

# C - Fennec vs Monster /
# 実行時間制限: 2 sec / メモリ制限: 1024 MB
# 配点 : 300点

# 問題文
# フェネックは N体のモンスターと戦っています。
# i番目のモンスターの体力は Hiです。
# フェネックは次の 2種類の行動を行うことができます。
#     攻撃：モンスターを 1体選んで攻撃することで、そのモンスターの体力を 1減らす
#     必殺技：モンスターを 1体選んで必殺技を使うことで、そのモンスターの体力を 0にする
# 攻撃と必殺技以外の方法でモンスターの体力を減らすことはできません。
# 全てのモンスターの体力を 0以下にすればフェネックの勝ちです。
# フェネックが K回まで必殺技を使えるとき、モンスターに勝つまでに行う攻撃の回数 (必殺技は数えません) の最小値を求めてください。

# 制約
#     1≤N≤2×105
#     0≤K≤2×105
#     1≤Hi≤109
#     入力中のすべての値は整数である。

# 入力
# 入力は以下の形式で標準入力から与えられる。
# N K
# H1 ... HN

# 出力
# フェネックがモンスターに勝つまでに行う攻撃の回数 (必殺技は数えない) の最小値を出力せよ。

# 入力例 1
# 3 1
# 4 1 5

# 出力例 1
# 5

# 3番目のモンスターに必殺技を使い、1 番目のモンスターに 4 回、2 番目のモンスターに 1 回攻撃を行うことで、攻撃の回数を 5回にできます。

# 入力例 2
# 8 9
# 7 9 3 2 3 8 4 6

# 出力例 2
# 0

# 全てのモンスターに必殺技を使うことができます。

# 入力例 3
# 3 0
# 1000000000 1000000000 1000000000

# 出力例 3
# 3000000000

# オーバーフローに注意してください。


global FLAG_LOG
FLAG_LOG = False


def log(value):
    # FLAG_LOG = True
    # FLAG_LOG = False
    if FLAG_LOG:
        print(str(value))


def calculation(lines):
    # S = lines[0]
    # N = int(lines[0])
    N, K = list(map(int, lines[0].split()))
    values = list(map(int, lines[1].split()))
    # values = list(map(int, lines[2].split()))
    # values = list()
    # for i in range(N):
    #     values.append(int(lines[i]))
    # valueses = list()
    # for i in range(N):
    #     valueses.append(list(map(int, lines[i+1].split())))

    if K >= N:
        result = 0
    else:
        values.sort()
        values = values[::-1]
        for k in range(K):
            values[k] = 0
        result = sum(values)

    return [result]


# 引数を取得
def get_input_lines(lines_count):
    lines = list()
    for _ in range(lines_count):
        lines.append(input())
    return lines


# テストデータ
def get_testdata(pattern):
    if pattern == 1:
        lines_input = ['3 1', '4 1 5']
        lines_export = [5]
    if pattern == 2:
        lines_input = ['8 9', ' 7 9 3 2 3 8 4 6']
        lines_export = [0]
    if pattern == 3:
        lines_input = ['3 0', '1000000000 1000000000 1000000000']
        lines_export = [3000000000]
    return lines_input, lines_export


# 動作モード判別
def get_mode():
    import sys
    args = sys.argv
    global FLAG_LOG
    if len(args) == 1:
        mode = 0
        FLAG_LOG = False
    else:
        mode = int(args[1])
        FLAG_LOG = True
    return mode


# 主処理
def main():
    import time
    started = time.time()
    mode = get_mode()
    if mode == 0:
        lines_input = get_input_lines(2)
    else:
        lines_input, lines_export = get_testdata(mode)

    lines_result = calculation(lines_input)

    for line_result in lines_result:
        print(line_result)

    # if mode > 0:
    #     print(f'lines_input=[{lines_input}]')
    #     print(f'lines_export=[{lines_export}]')
    #     print(f'lines_result=[{lines_result}]')
    #     if lines_result == lines_export:
    #         print('OK')
    #     else:
    #         print('NG')
    # finished = time.time()
    # duration = finished - started
    # print(f'duration=[{duration}]')


# 起動処理
if __name__ == '__main__':
    main()