제출 #683616

#제출 시각아이디문제언어결과실행 시간메모리
683616rainboyArranging Tickets (JOI17_arranging_tickets)C11
45 / 100
113 ms340 KiB
#include <stdio.h> #include <string.h> #define N 300 #define M 300 #define INF 0x3f3f3f3f 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 xx[N], yy[N], cc[N], dd[M], ll[N], rr[N]; static char flip[N]; int n, m, i, i_, a, b, tmp, upd, ans; scanf("%d%d", &m, &n); for (i = 0; i < n; i++) scanf("%d%d%d", &xx[i], &yy[i], &cc[i]), xx[i]--, yy[i]--; ans = INF; for (a = 0; a < m; a++) { for (i = 0; i < n; i++) { ll[i] = (xx[i] - a + m) % m, rr[i] = (yy[i] - a + m) % m; if (ll[i] > rr[i]) tmp = ll[i], ll[i] = rr[i], rr[i] = tmp; } memset(flip, 0, n * sizeof *flip); while (1) { memset(dd, 0, m * sizeof *dd); for (i = 0; i < n; i++) if (!flip[i]) dd[ll[i]]++, dd[rr[i]]--; else dd[0]++, dd[ll[i]]--, dd[rr[i]]++; for (b = 1; b < m; b++) dd[b] += dd[b - 1]; upd = 0; for (b = 0; b < m; b++) if (dd[b] > dd[m - 1]) { upd = 1; i_ = -1; for (i = 0; i < n; i++) if (!flip[i] && ll[i] <= b && b < rr[i]) if (i_ == -1 || rr[i_] < rr[i]) i_ = i; if (i_ != -1) flip[i_] = 1; break; } if (!upd) { ans = min(ans, dd[m - 1]); break; } } } printf("%d\n", ans); return 0; }

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

arranging_tickets.c: In function 'main':
arranging_tickets.c:16:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |  scanf("%d%d", &m, &n);
      |  ^~~~~~~~~~~~~~~~~~~~~
arranging_tickets.c:18:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |   scanf("%d%d%d", &xx[i], &yy[i], &cc[i]), xx[i]--, yy[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...