페이지

1201번: NMK

https://www.acmicpc.net/problem/1201


$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;
}

댓글 없음 :

댓글 쓰기