/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
* main.c
* Copyright (C) 2013 Akhil <akhil@akhil-VPCEA33EN>
*
* Hello is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Hello is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://w...content-available-to-author-only...u.org/licenses/>.
*/
#include <stdio.h>
int main()
{
int test=0, test_loop=0, loop=0; //number of test cases
int n=0, k=0,*arr=NULL,*sum_dad=NULL,*sum_son = NULL;
int i=0, j=0, tmp=0/*, sum_dad=0, sum_son=0*/;//loop variables
// printf("\nNumber of test cases");
sum_dad
= (int*)malloc(test
*sizeof(int)); sum_son
= (int*)malloc(test
*sizeof(int));// memset(sum_dad,0,(test*sizeof(int));
// memset(sum_son,0,(test*sizeof(int));
for(loop=0;loop<test;loop++)
{
//printf("\nEnter N,K");
arr
= (int*)malloc(n
*sizeof(int));
sum_son[loop]=0;
sum_dad[loop]=0;
for(i=0;i<n;i++)
{
scanf("%d",&arr
[i
]);//enter value for all the n entries }
//printf("Numbers :: %d , %d",arr[0],arr[1]);
//now sort the array
/**************sorting begins*****************************/
for(i=0;i<n;i++)
{
for(j=1;j<n-i;j++)
{
if(arr[j-1]>arr[j])
{
tmp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=tmp;
}
}
}
/*****************sorting ends******************************/
if(k>(n-k)) k=n-k;
for(i=0;i<k;i++)
{
//add the smallest k elements
sum_son[loop]=sum_son[loop]+arr[i];
}
for(i=k;i<n;i++)
{
sum_dad[loop]=sum_dad[loop]+arr[i];
}
arr=NULL;
//printf("differnce of weights = %d",(sum_dad[loop]-sum_son[loop]));
} /*test loop ends here*/
for(loop=0;loop<test;loop++)
{
// printf("differnce of weights = %d",(sum_dad[loop]-sum_son[loop]));
printf("%d\n",(sum_dad
[loop
]-sum_son
[loop
])); }
return 0;
}
LyogLSotIE1vZGU6IEM7IGluZGVudC10YWJzLW1vZGU6IHQ7IGMtYmFzaWMtb2Zmc2V0OiA0OyB0YWItd2lkdGg6IDQgLSotICAqLwovKgogKiBtYWluLmMKICogQ29weXJpZ2h0IChDKSAyMDEzIEFraGlsIDxha2hpbEBha2hpbC1WUENFQTMzRU4+CiAqIAogKiBIZWxsbyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqIAogKiBIZWxsbyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCiAqIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICogCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCiAqIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi51Lm9yZy9saWNlbnNlcy8+LgogKi8KIAojaW5jbHVkZSA8c3RkaW8uaD4KaW50IG1haW4oKQp7CiAgICBpbnQgdGVzdD0wLCB0ZXN0X2xvb3A9MCwgbG9vcD0wOyAvL251bWJlciBvZiB0ZXN0IGNhc2VzCglpbnQgbj0wLCBrPTAsKmFycj1OVUxMLCpzdW1fZGFkPU5VTEwsKnN1bV9zb24gPSBOVUxMOwogICAgaW50IGk9MCwgaj0wLCB0bXA9MC8qLCBzdW1fZGFkPTAsIHN1bV9zb249MCovOy8vbG9vcCB2YXJpYWJsZXMKICAgLy8gcHJpbnRmKCJcbk51bWJlciBvZiB0ZXN0IGNhc2VzIik7CglzY2FuZigiJWQiLCZ0ZXN0KTsKICAgIHN1bV9kYWQ9IChpbnQqKW1hbGxvYyh0ZXN0KnNpemVvZihpbnQpKTsKCXN1bV9zb249IChpbnQqKW1hbGxvYyh0ZXN0KnNpemVvZihpbnQpKTsKLy8JbWVtc2V0KHN1bV9kYWQsMCwodGVzdCpzaXplb2YoaW50KSk7Ci8vCW1lbXNldChzdW1fc29uLDAsKHRlc3Qqc2l6ZW9mKGludCkpOwoJZm9yKGxvb3A9MDtsb29wPHRlc3Q7bG9vcCsrKQoJewoJLy9wcmludGYoIlxuRW50ZXIgTixLIik7CglzY2FuZigiJWQgICAgICVkIiwmbiwmayk7CglhcnI9IChpbnQqKW1hbGxvYyhuKnNpemVvZihpbnQpKTsKIAoJCXN1bV9zb25bbG9vcF09MDsKCQlzdW1fZGFkW2xvb3BdPTA7CiAKIAoJZm9yKGk9MDtpPG47aSsrKQoJewoJCXNjYW5mKCIlZCIsJmFycltpXSk7Ly9lbnRlciB2YWx1ZSBmb3IgYWxsIHRoZSBuIGVudHJpZXMKCX0KIAoJLy9wcmludGYoIk51bWJlcnMgOjogJWQgLCAlZCIsYXJyWzBdLGFyclsxXSk7CiAKCS8vbm93IHNvcnQgdGhlIGFycmF5CiAgICAvKioqKioqKioqKioqKipzb3J0aW5nIGJlZ2lucyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJZm9yKGk9MDtpPG47aSsrKQoJICAgICB7CgkgICAgICAgICAgIGZvcihqPTE7ajxuLWk7aisrKQoJICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgIGlmKGFycltqLTFdPmFycltqXSkKCSAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICB0bXA9YXJyW2pdOwoJICAgICAgICAgICAgICAgICAgICAgICBhcnJbal09YXJyW2otMV07CgkgICAgICAgICAgICAgICAgICAgICAgIGFycltqLTFdPXRtcDsKCSAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICB9CgkgICAgIH0KLyoqKioqKioqKioqKioqKioqc29ydGluZyBlbmRzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICBpZihrPihuLWspKSBrPW4tazsKIAoJZm9yKGk9MDtpPGs7aSsrKQoJewoJCS8vYWRkIHRoZSBzbWFsbGVzdCBrIGVsZW1lbnRzCgkJc3VtX3Nvbltsb29wXT1zdW1fc29uW2xvb3BdK2FycltpXTsKCX0KCWZvcihpPWs7aTxuO2krKykKCXsKCQlzdW1fZGFkW2xvb3BdPXN1bV9kYWRbbG9vcF0rYXJyW2ldOwoJfQoJZnJlZShhcnIpOwoJYXJyPU5VTEw7CiAgICAvL3ByaW50ZigiZGlmZmVybmNlIG9mIHdlaWdodHMgPSAlZCIsKHN1bV9kYWRbbG9vcF0tc3VtX3Nvbltsb29wXSkpOwoJfSAvKnRlc3QgbG9vcCBlbmRzIGhlcmUqLwogCglmb3IobG9vcD0wO2xvb3A8dGVzdDtsb29wKyspCgl7CgkvLwlwcmludGYoImRpZmZlcm5jZSBvZiB3ZWlnaHRzID0gJWQiLChzdW1fZGFkW2xvb3BdLXN1bV9zb25bbG9vcF0pKTsKCQlwcmludGYoIiVkXG4iLChzdW1fZGFkW2xvb3BdLXN1bV9zb25bbG9vcF0pKTsJCQoJfQogCglmcmVlKHN1bV9zb24pOwoJZnJlZShzdW1fZGFkKTsKCQlyZXR1cm4gMDsKIAp9