summary refs log tree commit diff homepage
path: root/2020/day10.c
blob: 789f2b1c25b23a62d1a1b6d641b091ca3be6482b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
static int compar(const void *_a, const void *_b) {
	const int *a = _a;
	const int *b = _b;
	return *a - *b;
}
int main(void) {
	int list[256];
	int len = 0;
	while (EOF != scanf("%d\n", &list[len])) {
		len++;
	}
	list[len++] = 0;
	qsort(list, len, sizeof(int), compar);
	list[len] = list[len-1] + 3;
	len++;
	int j1 = 0, j3 = 0;
	for (int i = 1; i < len; ++i) {
		if (list[i] - list[i-1] == 1) j1++;
		if (list[i] - list[i-1] == 3) j3++;
	}
	printf("%d\n", j1 * j3);
}