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
HDU
2009-4 Programming Contest
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; }