HDU 4989 Summary(数学题暴力)

来源:互联网 发布:mac卸载自带软件卸载 编辑:程序博客网 时间:2024/06/06 13:17

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4989


Problem Description
Small W is playing a summary game. Firstly, He takes N numbers. Secondly he takes out every pair of them and add this two numbers, thus he can get N*(N - 1)/2 new numbers. Thirdly he deletes the repeated number of the new numbers. Finally he gets the sum of the left numbers. Now small W want you to tell him what is the final sum.
 
Input
Multi test cases, every case occupies two lines, the first line contain n, then second line contain n numbers a1, a2, ……an separated by exact one space. Process to the end of file.
[Technical Specification]
2 <= n <= 100
-1000000000 <= ai <= 1000000000
 
Output
For each case, output the final sum.
 
Sample Input
41 2 3 425 5
 
Sample Output
2510
Hint
Firstly small W takes any pair of 1 2 3 4 and add them, he will get 3 4 5 5 6 7. Then he deletes the repeated numbers, he will get 3 4 5 6 7, Finally he gets the sum=3+4+5+6+7=25.
 
Source
BestCoder Round #8


代码如下:

//#pragma warning (disable:4786)#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <cstdlib>#include <climits>#include <ctype.h>#include <queue>#include <stack>#include <vector>#include <utility>#include <deque>#include <set>#include <map>#include <iostream>#include <algorithm>using namespace std;#define INF 1e18//typedef long long LL;typedef __int64 LL;int main(){    int n;    LL a[7000], b[7000];    while(~scanf("%d",&n))    {        memset(a,0,sizeof(a));        memset(b,0,sizeof(b));        for(int i = 0; i < n; i++)        {            scanf("%I64d",&a[i]);        }        int l = 0;        for(int i = 0; i < n-1; i++)        {            for(int j = i+1; j < n; j++)            {                b[l++] = a[i]+a[j];            }        }        sort(b,b+l);        for(int i = 1; i < l; i++)        {            if(b[i] == b[i-1])                b[i-1] = 0;        }        LL sum = 0;        for(int i = 0; i < l; i++)        {            sum+=b[i];        }        printf("%I64d\n",sum);    }    return 0;}


1 0
原创粉丝点击