about summary refs log tree commit diff
path: root/others/easy20160714/31.c
diff options
context:
space:
mode:
authorRaphael McSinyx <vn.mcsinyx@gmail.com>2017-01-02 20:37:59 +0700
committerRaphael McSinyx <vn.mcsinyx@gmail.com>2017-01-02 20:37:59 +0700
commit57d767cf4e4d5b83645bda2c4e398fdd76d059e1 (patch)
tree557cc70d5dc663b5ee3bef2be4d749ddc3cfbc4c /others/easy20160714/31.c
parent7206ecee7579a10dd347d06b397b3790e969f8f3 (diff)
downloadcp-57d767cf4e4d5b83645bda2c4e398fdd76d059e1.tar.gz
Update others/easy20160714
Diffstat (limited to 'others/easy20160714/31.c')
-rw-r--r--others/easy20160714/31.c34
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;
+}