求值
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>
void qsort(int a[],int l,int r)
{
int x=a[l],i=l,j=r;
if(l>=r)
return;
while(i<j)
{
while(i<j&&a[j]>=x)
j--;
a[i]=a[j];
while(i<j&&a[i]<=x)
i++;
a[j]=a[i];
}
a[i]=x;
qsort(a,l,i-1);
qsort(a,i+1,r);
}
int main()
{
int i,j,n,a[50000],b=0,c=0,d;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,0,n-1);
for(i=0;i<n;i++)
{
if((i+1)%2==0)
b+=a[i];
else
c+=a[i];
}
if(n%2==0)
d=b-c;
else
d=c-b;
printf("%d\n",d);
}