/* -*- coding: utf-8 -*- * * 115.cc: No.115 遠足のおやつ - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_K = 10; /* typedef */ /* global variables */ int as[MAX_K]; /* subroutines */ /* main */ int main() { int n, d, k; cin >> n >> d >> k; int minsum = (1 + k) * k / 2; int maxsum = ((n - k + 1) + n) * k / 2; if (d < minsum || maxsum < d) { puts("-1"); return 0; } for (int i = 0; i < k - 1; i++) as[i] = i + 1; as[k - 1] = d - k * (k - 1) / 2; for (int i = k - 1; i >= 0; i--) { int m = as[i] - n; if (m <= 0) break; as[i] = n; as[i - 1] += m; n--; } for (int j = 0; j < k; j++) { if (j) putchar(' '); printf("%d", as[j]); } putchar('\n'); return 0; }