山东理工【2871】爱

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

现在有n块砖排成一排。现在zs站在第一块砖的前面,zs可以跳k次,每次可以跳无限远。现在给这n块砖标上数字Si,当zs跳到这块砖上时,其得分s += Si。问zs跳k次之后的最大得分是多少。初始时,得分s = 0。zs每次只能落在一块砖上。

输入

多组输入。每组首先输入两个正整数n,k(1 <= k <= n <= 100)。
接下来的一行有n个数代表Si。

输出

对于每组数据,输出一个正整数S,代表zs可以得到的最大得分。

示例输入

3 3
1 2 3
3 2
1 2 3

示例输出

6
5


  1. #include<stdio.h>  
  2. int main()  
  3. {  
  4.     int n,k,i,j,a[100],t,s;  
  5.     while(~scanf("%d%d",&n,&k))  
  6.     {  
  7.       s=0;  
  8.       for(i=0;i<n;i++)  
  9.         scanf("%d",&a[i]);  
  10.       for(i=0;i<n-1;i++)  
  11.         for(j=0;j<n-i-1;j++)  
  12.         if(a[j]<a[j+1])  
  13.       {  
  14.           t=a[j];  
  15.           a[j]=a[j+1];  
  16.           a[j+1]=t;  
  17.       }  
  18.       for(i=0;i<k;i++)  
  19.          s+=a[i];  
  20.       printf("%d\n",s);  
  21.     }  
  22.     return 0;  
  23.     }  
posted @ 2014-05-22 21:20  jiangyy  阅读(125)  评论(0编辑  收藏  举报