From 2f674dc80f0382f1c3178f435714960734dc9d3c Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sat, 6 Jun 2020 21:33:13 +0700 Subject: Reorganize stuff from secondary school --- 09/TP-HN-2014/cau4.c | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 09/TP-HN-2014/cau4.c (limited to '09/TP-HN-2014/cau4.c') diff --git a/09/TP-HN-2014/cau4.c b/09/TP-HN-2014/cau4.c deleted file mode 100644 index 49e3df6..0000000 --- a/09/TP-HN-2014/cau4.c +++ /dev/null @@ -1,48 +0,0 @@ -#include -#include - -int cmp(const void *x, const void *y) -{ - return *(int *) x - *(int *) y; -} - -int main() -{ - FILE *f = fopen("CAU4.INP", "r"); - int n, d, k; - fscanf(f, "%d %d", &n, &d); - int *a = (int *) malloc(n * sizeof(int)); - for (k = 0; k < n; k++) - fscanf(f, "%d", a + k); - k = a[--d]; - fclose(f); - - qsort(a, n, sizeof(int), cmp); - int t = 0; - for (int i = 1; i < n; i++) - t += abs(a[i] - a[i - 1]); - int idx = (int *) bsearch(&k, a, n, sizeof(int), cmp) - a; - if ((idx - d) * (idx - n + d + 1)) { - int t0, t1; - if (idx < d) { - t0 = (t - abs(a[n - d + idx] - a[n - d + idx - 1]) - + abs(a[n - d + idx] - *a)); - d = n - d - 1; - t1 = (t - abs(a[idx - d] - a[idx - d - 1]) - + abs(a[n - 1] - a[idx - d - 1])); - } else { - t0 = (t - abs(a[idx - d] - a[idx - d - 1]) - + abs(a[n - 1] - a[idx - d - 1])); - d = n - d - 1; - t1 = (t - abs(a[n - d + idx] - a[n - d + idx - 1]) - + abs(a[n - d + idx] - *a)); - } - t = (t0 < t1) ? t0 : t1; - } - - f = fopen("CAU4.OUT", "w"); - fprintf(f, "%d\n", t); - fclose(f); - - return 0; -} -- cgit 1.4.1