Submission #471737

# Submission time Handle Problem Language Result Execution time Memory
471737 2021-09-10T15:00:28 Z rainboy Vođe (COCI17_vode) C
120 / 120
180 ms 360 KB
#include <stdio.h>
#include <string.h>

#define N	5000

int main() {
	static int cc[N], dp[N], dq[N], dp_[N], dq_[N];
	int n, m, k, i, j;

	scanf("%d%d%d", &n, &m, &k);
	for (i = 0; i < n; i++)
		scanf("%d", &cc[i]);
	for (i = 0; i < n; i++)
		dp[i] = cc[i] ^ 1, dq[i] = m;
	for (j = m - 2; j >= 0; j--) {
		for (i = 0; i < n; i++) {
			dp_[i] = cc[i] ^ (dp[(i + 1) % n] == cc[i] || dq[(i + 1) % n] != m && dq[(i + 1) % n] - j <= k ? 0 : 1);
			dq_[i] = dp_[i] == dp[i] ? dq[i] : j + 1;
		}
		memcpy(dp, dp_, n * sizeof *dp_);
		memcpy(dq, dq_, n * sizeof *dq_);
	}
	for (i = 0; i < n; i++)
		printf("%d ", dp[i]);
	printf("\n");
	return 0;
}

Compilation message

vode.c: In function 'main':
vode.c:17:71: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   17 |    dp_[i] = cc[i] ^ (dp[(i + 1) % n] == cc[i] || dq[(i + 1) % n] != m && dq[(i + 1) % n] - j <= k ? 0 : 1);
      |                                                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
vode.c:10:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |  scanf("%d%d%d", &n, &m, &k);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vode.c:12:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |   scanf("%d", &cc[i]);
      |   ^~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 204 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 224 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 21 ms 324 KB Output is correct
2 Correct 21 ms 204 KB Output is correct
3 Correct 149 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 47 ms 336 KB Output is correct
2 Correct 137 ms 360 KB Output is correct
3 Correct 59 ms 336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 169 ms 356 KB Output is correct
2 Correct 4 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 180 ms 348 KB Output is correct
2 Correct 161 ms 348 KB Output is correct
3 Correct 156 ms 332 KB Output is correct