From a3dd2581ed4847670f81157091016c14ca18803d Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Tue, 14 Jan 2020 18:29:11 +0700 Subject: [usth/MATH2.3] Mathemate Discretely --- usth/MATH2.3/1/schedule.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 usth/MATH2.3/1/schedule.c (limited to 'usth/MATH2.3/1/schedule.c') diff --git a/usth/MATH2.3/1/schedule.c b/usth/MATH2.3/1/schedule.c new file mode 100644 index 0000000..6b70ca7 --- /dev/null +++ b/usth/MATH2.3/1/schedule.c @@ -0,0 +1,30 @@ +#include +#include + +struct talk { + int start, end; +}; + +int cmp(const void *x, const void *y) +{ + return ((struct talk *) x)->end - ((struct talk *) y)->end; +} + +int main() +{ + size_t n; + scanf("%zu", &n); + struct talk *a = malloc(n * sizeof(struct talk)); + for (size_t i = 0; i < n; ++i) + scanf("%d %d", &a[i].start, &a[i].end); + + qsort(a, n, sizeof(struct talk), cmp); + int start = a->start; + for (size_t i = 0; i < n; ++i) + if (a[i].start >= start) { + printf("%d %d\n", a[i].start, a[i].end); + start = a[i].end; + } + + return 0; +} -- cgit 1.4.1