Submission #945371

# Submission time Handle Problem Language Result Execution time Memory
945371 2024-03-13T17:04:36 Z rainboy Take-out (POI13_usu) C
100 / 100
98 ms 20872 KB
#include <stdio.h>

#define N	1000000

int main() {
	static char cc[N + 1];
	static int pp[N + 1], qu[N], ii[N];
	int n, m, k, cnt, h, i;

	scanf("%d%d%s", &n, &k, cc);
	m = 0, cnt = 0;
	for (i = 0; i < n; i++) {
		if (cc[i] == 'c')
			pp[m + 1] = pp[m] + k, qu[m] = i, m++;
		else
			pp[m + 1] = pp[m] - 1, qu[m] = i, m++;
		if (m >= k + 1 && pp[m] == pp[m - k - 1]) {
			for (h = m - k - 1; h < m; h++)
				ii[cnt++] = qu[h];
			m -= k + 1;
		}
	}
	for (h = n / (k + 1) - 1; h >= 0; h--) {
		for (i = h * (k + 1); i < (h + 1) * (k + 1); i++)
			printf("%d ", ii[i] + 1);
		printf("\n");
	}
	return 0;
}

Compilation message

usu.c: In function 'main':
usu.c:10:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |  scanf("%d%d%s", &n, &k, cc);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 3932 KB Output is correct
2 Correct 9 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 5468 KB Output is correct
2 Correct 25 ms 6224 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 43 ms 10836 KB Output is correct
2 Correct 28 ms 8784 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 64 ms 12896 KB Output is correct
2 Correct 66 ms 13140 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 88 ms 20564 KB Output is correct
2 Correct 77 ms 20872 KB Output is correct
3 Correct 84 ms 20088 KB Output is correct
4 Correct 98 ms 15440 KB Output is correct