B - Sale

Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Submit  Status  Practice  CodeForces 34B

Description

Once Bob got to a sale of old TV sets. There were n TV sets at that sale. TV set with index i costs ai bellars. Some TV sets have a negative price — their owners are ready to pay Bob if he buys their useless apparatus. Bob can «buy» any TV sets he wants. Though he's very strong, Bob can carry at most m

Input

The first line contains two space-separated integers n and m (1 ≤ m ≤ n ≤ 100) — amount of TV sets at the sale, and amount of TV sets that Bob can carry. The following line contains n space-separated integers ai ( - 1000 ≤ ai ≤ 1000) — prices of the TV sets.

Output

Output the only number — the maximum sum of money that Bob can earn, given that he can carry at most m

Sample Input

Input

5 3 -6 0 35 -2 4

Output

8

Input

4 2 7 0 0 -7

Output

7

很水的一个题,看数据猜题意过的,先排序然后选前m小的数,如果前m个数有大
于0的数则提前终止,最后把前m小的数字相加在乘以-1,得到一个正数输出就可以了

AC代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
    int n,m;
    int a[10001];
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        sort(a,a+n);
        int sum = 0;
        for(int i=0;i<m;i++)
        {
            if(a[i]<0)
            {
                sum = sum + (-1*a[i]);
            }
            else
            {
                break;
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}