14021: Мінімізація сіна - Minimizing Haybales - USACO22JanPlatinum


Відправити розв'язок

Бали: 100 (partial)
Time limit: 4.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

У Фермера Джона є \(N\) (\(1\leq N \leq 10^5\)) стогів з тюків сіна. Для кожного \(i\in [1,N]\), \(i\)-ий стог має \(h_i\) (\(1\le h_i\le 10^9\)) тюків. Бессі може виконувати такі операції:

  • Якщо висоти двох сусідніх стогів сіна розрізняються не більше ніж на \(K\) (\(1\le K\le 10^9\)), вона може поміняти місцями два стоги

Яку лексикографічно мінімальну послідовність висот Бесі може отримати після деякої послідовності таких операцій?

Примітка: обмеження на час та пам'ять для цього завдання 4сек та 512 Мбт, що в 2 рази більше значень за замовчуванням.

Формат вхідних даних

Перший рядок введення містить \(N\) та \(K\). \(i+1\)-ий рядок містить висоту \(i\)-того стога.

Формат вихідних даних

Виведіть \(N\) рядків, \(i\)-ий рядок містить висоту \(i\)-го стога у вирішенні.

Приклад вхідних даних

5 3
7
7
3
6
2

Приклад вихідних даних

6
7
7
2
3

Один із способів, яким Бєсі може змінювати стоги такий:

    7 7 3 6 2
    7 7 6 3 2
    7 7 6 2 3
    7 6 7 2 3
    6 7 7 2 3

ОЦІНЮВАННЯ:

  • У 10% всіх вхідних тестів, \(N\le 100\)
  • В інших 20% всіх вхідних тестів, \(N\le 5000\)
  • У решті 70% вхідних тестів немає додаткових обмежень

Коментарі

Ще немає коментарів.