The MAX

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


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
 

 

Recommend
lcy   |   We have carefully selected several similar problems for you:  2807 2802 2804 2800 2816 
图上给了很多信息, 然而我还是粗心没有看出Xi 可以取相同的数, WA两次。
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std; 
bool cMp(int a, int b){
    return a > b;
}
int main(){
    __int64 num[101];
    int T;
    while(~scanf("%d", &T), T){
        for(int i = 0; i < T; i++)
            scanf("%I64d", &num[i]);
        sort(num, num+T, cMp);
    //    int P = (T-1)%2==0? (T-1)/2*T:T/2*(T-1);
    //    int Q = 2009 - P;
    //    __int64 sum = num[0]*Q;
        __int64 sum = num[0]*(2010-T);
    //    printf("%I64d\n", sum);
        for(int i = 1; i < T; i++)
            sum += num[i];
        printf("%I64d\n", sum);
    }
    return 0;
}  

 

 
 
posted on 2015-11-01 12:07  cleverbiger  阅读(135)  评论(0编辑  收藏  举报