제출 #704725

#제출 시각아이디문제언어결과실행 시간메모리
704725rainboy스탬프 수집 (JOI16_ho_t2)C11
100 / 100
6 ms6740 KiB
#include <stdio.h> #include <string.h> #define N 100000 long long max(long long a, long long b) { return a > b ? a : b; } int main() { static char cc[N + 1]; static long long dp[N + 1][4], dq[N + 1][4]; int n, i, a; long long ans; scanf("%d%s", &n, cc); dp[0][0] = 1; for (i = 0; i < n; i++) { memcpy(dp[i + 1], dp[i], sizeof dp[i]); if (cc[i] == 'J') dp[i + 1][1] += dp[i + 1][0]; else if (cc[i] == 'O') dp[i + 1][2] += dp[i + 1][1]; else dp[i + 1][3] += dp[i + 1][2]; } dq[n][3] = 1; for (i = n - 1; i >= 0; i--) { memcpy(dq[i], dq[i + 1], sizeof dq[i + 1]); if (cc[i] == 'J') dq[i][0] += dq[i][1]; else if (cc[i] == 'O') dq[i][1] += dq[i][2]; else dq[i][2] += dq[i][3]; } ans = 0; for (i = 0; i <= n; i++) for (a = 0; a < 3; a++) ans = max(ans, dp[n][3] + dp[i][a] * dq[i][a + 1]); printf("%lld\n", ans); return 0; }

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

2016_ho_t2.c: In function 'main':
2016_ho_t2.c:14:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |  scanf("%d%s", &n, cc);
      |  ^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...