Problem O : An Easy Problem
From: DHUOJ, 2017060315
(Out of Contest)
題目意思就是給一個n,然後輸入n*2個數,分成n個組將每組的差的絕對值加起來,讓這個值最小,求出這個值。
就是按照大小順序排序,然後兩個兩個求出差值加起來就可以了。。
然後錯了。。
因爲加起來的值不是INT,LONG LONG INT DOUBLE 都可以,改一下救過了呢~_~
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int a[20001];
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<2*n;i++)
{
scanf("%d",&a[i]);
a[i]=fabs(a[i]);
}
sort(a,a+2*n);
double sum=0;
for(int i=1;i<=2*n-1;i=i+2)
{
sum=sum+a[i]-a[i-1];
}
printf("%.0lf\n",sum);
}
return 0;
}