Submission #493274

#TimeUsernameProblemLanguageResultExecution timeMemory
493274rainboyAutobahn (COI21_autobahn)C11
50 / 100
5 ms416 KiB
#include <stdio.h>

#define N	1000
#define X	2000

int min(int a, int b) { return a < b ? a : b; }
int max(int a, int b) { return a > b ? a : b; }

int main() {
	static int ll[N], rr[N], cc[N], dd[X];
	int n, k, len, i, x, ans, sum;

	scanf("%d%d%d", &n, &k, &len);
	for (i = 0; i < n; i++) {
		scanf("%d%d%d", &ll[i], &cc[i], &rr[i]);
		dd[ll[i]]++, dd[rr[i] + 1]--;
	}
	for (x = 1; x < X; x++)
		dd[x] += dd[x - 1];
	for (x = 1; x < X; x++)
		dd[x] = dd[x] >= k;
	for (x = 1; x < X; x++)
		dd[x] += dd[x - 1];
	ans = 0;
	for (x = 1; x + len - 1 < X; x++) {
		sum = 0;
		for (i = 0; i < n; i++) {
			int l = max(ll[i] + cc[i], x), r = min(rr[i], x + len - 1);

			if (l <= r)
				sum += dd[r] - dd[l - 1];
		}
		ans = max(ans, sum);
	}
	printf("%d\n", ans);
	return 0;
}

Compilation message (stderr)

autobahn.c: In function 'main':
autobahn.c:13:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |  scanf("%d%d%d", &n, &k, &len);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
autobahn.c:15:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   scanf("%d%d%d", &ll[i], &cc[i], &rr[i]);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...