diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-02 20:37:59 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-02 20:37:59 +0700 |
commit | 57d767cf4e4d5b83645bda2c4e398fdd76d059e1 (patch) | |
tree | 557cc70d5dc663b5ee3bef2be4d749ddc3cfbc4c /others/easy20160714/31.c | |
parent | 7206ecee7579a10dd347d06b397b3790e969f8f3 (diff) | |
download | cp-57d767cf4e4d5b83645bda2c4e398fdd76d059e1.tar.gz |
Update others/easy20160714
Diffstat (limited to 'others/easy20160714/31.c')
-rw-r--r-- | others/easy20160714/31.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/others/easy20160714/31.c b/others/easy20160714/31.c new file mode 100644 index 0000000..4465da9 --- /dev/null +++ b/others/easy20160714/31.c @@ -0,0 +1,34 @@ +#include <stdio.h> +#include <stdlib.h> + +int cmp(const void *x, const void *y) +{ + return *(int *) x - *(int *) y; +} + +int main() +{ + FILE *f = fopen("INP.TXT", "r"); + int n, *a, i, m; + long r = 0; + + fscanf(f, "%d", &n); + a = malloc(n * sizeof(int)); + + for (i = 0; i < n; i++) + fscanf(f, "%d", a + i); + + fclose(f); + + qsort(a, n, sizeof(int), cmp); + m = a[n / 2]; + + for (i = 0; i < n; i++) + r += abs(a[i] - m); + + f = fopen("OUT.TXT", "w"); + fprintf(f, "%ld\n", r); + fclose(f); + + return 0; +} |