#include<cstdio> int n, l, x, y = 1e9; void f(int i) { if (i & 1) { if (n / i * 2 >= l && n / i <= 50 && i / 2 + 1 >= n / i) { if (n / i * 2 < y) { x = i / 2 - n / i + 1; y = n / i * 2; } } if (i >= l&& i <= 100 && n / i >= i / 2) { if (i < y) { x = n / i - i / 2; y = i; } } } } int main() { scanf("%d%d", &n, &l); for (int i = 1; i*i <= n; i++) if (n%i == 0) { f(i); f(n / i); } if (y<1e9) { for (int i = 0; i < y; i++) printf("%d ", x + i); } else puts("-1"); return 0; }
1024번: 수열의 합
https://www.acmicpc.net/problem/1024
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기