제출 #471737

#제출 시각아이디문제언어결과실행 시간메모리
471737rainboyVođe (COCI17_vode)C11
120 / 120
180 ms360 KiB
#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;
}

컴파일 시 표준 에러 (stderr) 메시지

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...