题目
给出N个整数X1,X2,X3,…,Xn,将这N个数从小到大排序为:A1,A2,A3,…,An,记数列A1,A2,A3,…,An的奇数项的和为P,偶数项之和为Q,令T=|P-Q|,计算T的值。
分析
注意:是排序后的奇数项的和为P,偶数项之和为Q
奇数项:A1,A3,A5……
偶数项:A2,A4,A6……
(开始的时候看错题,看成奇数之和,偶数之和 QAQ)
程序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
long long m,a[50010],p,q;
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
sort (a+1,a+n+1);
for(int i=1;i<=n;i++)
if(i%2==0) q+=a[i];
else p+=a[i];
m=abs(p-q);
printf("%lld\n",m);
return 0;
}