$O(n)$
#include<stdio.h> #define min(x,y) (x<y?x:y) int n, m, k; int main() { scanf("%d %d %d", &n, &m, &k); if (n<m + k - 1 || n>m*k) puts("-1"); else for (int i = 1; i <= m; i++) for (int j = min(i*k, n - m + i); j>min(i*k - k, n - m + i - 1); j--) printf("%d ", j); return 0; }
댓글 없음 :
댓글 쓰기