20. Вопросы про максимум

Не решаласьСложная

Петя собрал массив a1,a2,,ana_1, a_2, \ldots, a_n длины nn, изначально состоящий из нулей, втайне от вас промодифицировал его и стал задавать сложные вопросы про получившийся массив.

Вы знаете, что к массиву было применено подмножество таких операций, как прибавление на отрезке. Формально Петя применил некоторое подмножество из qq операций, ii-я операция задаётся тремя целыми числами lil_i, rir_i и xix_i (1lirin1 \leq l_i \leq r_i \leq n), (1xin1 \leq x_i \leq n) и означает, что к элементам ali,ali+1,,aria_{l_i}, a_{l_i + 1}, \ldots, a_{r_i} прибавили число xix_i.

Петя спрашивает, какие существуют целые числа от 11 до nn, которые могут соответствовать максимуму в массиве aia_i. Ответьте ему на этот вопрос.

Формат ввода

В первой строке находятся два целых числа nn и qq (1n,q1041 \leq n, q \leq 10^{4}) — длина массива и количество операций.

В следующих qq строках описаны операции, по одной в строке. ii-я из этих строк содержит три целых числа lil_i, rir_i и xix_i (1lirin1 \leq l_i \leq r_i \leq n, 1xin1 \leq x_i \leq n), что обозначает операцию добавления числа xix_i на отрезке с lil_i-го по rir_i-й элемент включительно.

Формат вывода

В первую строку выведите единственное число kk, обозначающее количество возможных целых чисел от 11 до nn, которым может быть равен максимум в массиве после применения некоторого (возможно, пустого) подмножества данных операций.

В следующей строке выведите через пробел все kk чисел от 11 до nn — возможные значения максимума. Выводите эти числа в возрастающем порядке.

Примечание

Если в первом тестовом примере оставить только первый запрос, то максимум будет равен 11. Если оставить только второй запрос, то максимум будет равен 22. Если оставить первые два запроса, то максимум будет равен 33. Если оставить только третий запрос, то максимум будет равен 44. Но если оставить третий запрос и ещё какой-то, максимум будет больше nn, поэтому его выводить не требуется.

Во втором тестовом примере, оставив только первый запрос, можно получить 11. Оставив только второй, можно получить 22. А если оставить все запросы, максимум будет равен 33.

В третьем тестовом примере можно получить максимумы так:

  • Можно получить максимум 22, оставив запросы: (1)(1).
  • Можно получить максимум 33, оставив запросы: (2)(2).
  • Можно получить максимум 55, оставив запросы: (1,2)(1, 2).
  • Можно получить максимум 66, оставив запросы: (3)(3).
  • Можно получить максимум 88, оставив запросы: (1,3)(1, 3).
  • Можно получить максимум 99, оставив запросы: (2,3)(2, 3).

Ограничения

Ограничение времени

2 с

Ограничение памяти

256 МБ

Пример 1

Ввод
4 3
1 3 1
2 4 2
3 4 4
Вывод
4
1 2 3 4 

Пример 2

Ввод
7 2
1 5 1
3 7 2
Вывод
3
1 2 3 

Пример 3

Ввод
10 3
1 1 2
1 1 3
1 1 6
Вывод
6
2 3 5 6 8 9 

Теги

Нужно войти, чтобы отправить решение.Войти