Перестановка
Обмеження: 2 сек., 256 МіБ
Тепер коли Зеник із сімдесят четвертої спроби вгадав свій пароль до алготестера, то можна й розв’язати нескладну задачку перед сном, дарма що з телефону.
Задача: знайти будь-яку перестановку (p1,p2,…,pn) послідовності (1,2,…,n) таку, що n∑i=1|pi−i|=|p1−1|+|p2−2|+⋯+|pn−n|=k, або сказати, що такої не існує.
Вхідні дані
У єдиному рядку задано два цілих числа n і k.
Вихідні дані
У першому рядку виведіть YES
або NO
— існує
така перестановка чи ні.
Якщо така перестановка існує, тоді в другому рядку виведіть n цілих чисел pi — елементи перестановки, яка задовольняє умову.
Обмеження
1≤n≤105,
0≤k≤109.
5 балів: n≤10;
20 балів: без додаткових обмежень.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
4 4 | YES 1 4 2 3 |
Примітки
Перестановка — упорядкований набір без повторів чисел 1,2,…,n.
У прикладі |p1−1|+|p2−2|+|p3−3|+|p4−4|=|1−1|+|4−2|+|2−3|+|3−4|=0+2+1+1=4.