HPUOJ---2017寒假作业--专题0/F-The MAX

F - The MAX


 
Giving N integers, V1, V2,,,,Vn, you should find the biggest value of F. 
InputEach 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. OutputFor each test case, output the biggest value of F you can find on a line. Sample Input
2
1 2
0
Sample Output
4017
思路:由于各x相加最大为2009,每一个x最小为1,要使最后和最大,可令系数v最大的那一项的x最大,即令其他项的x都为1,那么这一项
的x就是2009-(n-1)=2010-n,乘以系数v;其余项的x都是1,所以其总和就是系数v之和。
最后结果可能超出int范围,所以在定义时,应使v为long long型,这样才能自动转换。(易错)
#include
#include
using namespace std;
bool cmp(int A,int B)
{
	return A>B;
} 
 
 int main()
 {
 	int N,i;
 	long long F,sum;
 	long long v[100+11];
 	while(scanf("%d",&N),N)
 	{
 		sum=0;
 		F=0;
 		for(i=0;i


你可能感兴趣的:(sort排序,数据类型转换)