求值
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给出N个整数X1,X2,X3,……,Xn,将这N个数从小到大排序为A1,A2,A3,……,An,记数列A1,A2,A3,……,An的奇数项之和为P,偶数项之和为Q,令T=|P-Q|,求出T的值。
输入
输入文件的第1行为整数N(1≤N≤50000)。接下来的N行每行有一个整数,按顺序给出X1,X2,X3,……,Xn的值(|Xi|<=1000)
输出
输出整数T的值。
示例输入
3 1 3 2
示例输出
2
提示
来源
示例程序
上传这道题只是想让自己引以为戒,审题永远都是最重要的!我承认我是逗比了,题目说的是奇数项,而不是数的本身是奇数!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
long long a[50010];
int main()
{
int n,i;
long long jshu=0;
long long oshu=0;
long long t;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
sort (a+1,a+n+1);
for(i=1;i<=n;i++)
{
if(i%2==0)
oshu+=a[i];
else
jshu+=a[i];
}
t=jshu-oshu;
if(t<0)
t=-t;
printf("%lld\n",t);
}
return 0;
}