The MAX
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1921 Accepted Submission(s): 830
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
Source
#include<stdio.h>
int main()
{
int i, j, k;
__int64 n, a[110];
while(scanf("%I64d", &n) != EOF && n)
{
__int64 max = 0, sum = 0, temp = 0;
for(i = 0; i < n; ++i)
{
scanf("%I64d", &a[i]);
if(a[i] > max)
max = a[i];
temp += a[i];
}
sum = max*(2010 - n) + temp - max;
printf("%I64d\n", sum);
}
return 0;
}
题意:给一个公式,给一组数字,求出公式的最大值。
思路:这里很明显就是找到给出的一些列数字中的最大值,分配给它最多的数字,其它的数字全部乘1即可。