如果自己写快排算法会导致第四个测试点超时
//
// main.cpp
// PATA1113
//
// Created by Phoenix on 2018/2/24.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 100010;
int n, mid, num[maxn];
int ans = 0, ans1 = 0;
/* 第四个测试点超时
int Partition(int left, int right) {
int pivot = num[left];
while (left < right) {
while(left < right && num[right] >= pivot) right--;
num[left] = num[right];
while(left < right && num[left] <= pivot) left++;
num[right] = num[left];
}
num[left] = pivot;
return left;
}
void quickSort(int left, int right) {
int pos = Partition(left, right);
if(pos == mid) return;
else if(pos < mid) quickSort(pos + 1, right);
else quickSort(left, pos - 1);
}
*/
int main(int argc, const char * argv[]) {
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d", &num[i]);
ans += num[i];
}
if(n % 2 == 0) printf("0 ");
else printf("1 ");
mid = n / 2;
//quickSort(0, n - 1);
sort(num, num + n);
for(int i = 0; i < mid; i++) {
ans1 += num[i];
}
printf("%d", ans - 2 * ans1);
return 0;
}