您的位置:首页 > 其它

hdoj 2803 The MAX【简单规律题】

2015-11-05 20:39 162 查看

The MAX

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


[align=left]Problem Description[/align]
Giving N integers, V1, V2,,,,Vn, you should find the
biggest value of F.



[align=left]Input[/align]
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.

[align=left]Output[/align]
For each test case, output the biggest value of F you
can find on a line.

[align=left]Sample Input[/align]

2

1 2
0

[align=left]Sample Output[/align]

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;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: