hdoj 2803 The MAX【简单规律题】

The MAX

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2062    Accepted Submission(s): 896


Problem Description
Giving N integers, V1, V2,,,,Vn, you should find the biggest value of F.
 

 

Input
Each test case contains a single integer N (1<=N<=100). The next line contains N integers, meaning the value of V1, V2....Vn.(1<= Vi <=10^8).The input is terminated by a set starting with N = 0. This set should not be processed.
 

 

Output
For each test case, output the biggest value of F you can find on a line.
 

 

Sample Input
2
1 2
0
 

 

Sample Output
4017
 
题解:找到这个数组中最大的数乘以上(2009-n+1)这个数组中其余的数全加上来即可
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAX 110
#define LL long long
using namespace std;
bool cmp(int a,int b)
{
	return a>b;
}
int main()
{
	int n,m,j,i;
	LL s[MAX];
	LL sum;
	while(scanf("%d",&n),n)
	{
		sum=0;
		for(i=0;i<n;i++)
			scanf("%lld",&s[i]);
		sort(s,s+n,cmp);
		for(i=1;i<n;i++)
		    sum+=s[i];
		sum+=(s[0]*(2009-n+1));
		printf("%lld\n",sum);
	}
	return 0;
} 

  

posted @ 2015-11-05 20:39  非我非非我  阅读(209)  评论(0编辑  收藏  举报