제출 #768805

#제출 시각아이디문제언어결과실행 시간메모리
768805rainboyNice sequence (IZhO18_sequence)C11
100 / 100
306 ms29636 KiB
#include <stdio.h> #define N 200000 #define M 200000 int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } int main() { int t; scanf("%d", &t); while (t--) { static int pp[N + M]; int n, m, d, n_, i, p; scanf("%d%d", &n, &m), d = gcd(n, m), n_ = m + n - d; i = n_, p = 0; while (1) { i = i >= n ? i - n : i + m; if (i == n_) break; pp[i] = p++; } for (i = 0; i < n_; i += d) pp[i] *= d; for (i = 0; i < n_; i++) pp[i] = pp[i - i % d] + i % d; printf("%d\n", n_ - 1); for (i = 1; i < n_; i++) printf("%d ", pp[i] - pp[i - 1]); printf("\n"); } return 0; }

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

sequence.c: In function 'main':
sequence.c:13:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |  scanf("%d", &t);
      |  ^~~~~~~~~~~~~~~
sequence.c:18:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |   scanf("%d%d", &n, &m), d = gcd(n, m), n_ = m + n - d;
      |   ^~~~~~~~~~~~~~~~~~~~~
#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...