Олимпиадный тренинг

Задача . B. Спортивная мафия


Каждый вечер после ужина ЛКШата собираются в лодочной станции, чтобы насладиться игрой в спортивную мафию.

Для турнира Аля набирает в банку конфеты — это будет призовой фонд. Она делает это за \(n\) ходов. На первом ходу она кладёт в банку одну конфету. Каждый следующий ход у неё есть выбор:

  • первый вариант хода — если в банке есть хотя бы одна конфета, то она может за ход вытащить ровно одну конфету из банки и съесть её (таким образом, за один ход количество конфет в банке уменьшается на \(1\));
  • второй вариант хода — положить в банку конфеты, в этом случае она кладёт на \(1\) конфету больше, чем клала в последний раз перед этим.

Таким образом, если банка пуста, то она может осуществить только второй вариант хода.

Например, возможная последовательность действий Али такая:

  • положить в банку одну конфету;
  • положить в банку две конфеты;
  • съесть одну конфету из банки;
  • съесть одну конфету из банки;
  • положить в банку три конфеты;
  • съесть одну конфету из банки;
  • положить в банку четыре конфеты;
  • съесть одну конфету из банки;
  • положить в банку пять конфет.

В этом случае будет совершено \(9\) ходов, количество конфет в банке в итоге будет равно \(11\), а Аля съест суммарно \(4\) конфеты.

Известно общее количество ходов \(n\) и количество конфет \(k\) после всех ходов Али. Найдите суммарное количество съеденных Алей конфет (то есть количество ходов первого варианта). Гарантируется, что для заданных \(n\) и \(k\) ответ существует.

Обратите внимание, что за один ход первого варианта Аля вытаскивает и съедает ровно одну конфету.

Входные данные

В первой строке входных данных заданы два целых числа \(n\) и \(k\) (\(1 \le n \le 10^9\); \(0 \le k \le 10^9\)) — суммарное количество ходов и количество конфет в банке в конце.

Гарантируется, что для заданных \(n\) и \(k\) ответ существует.

Выходные данные

Выведите одно целое число — количество конфет, которые съела Аля. Обратите внимание, что в этой задаче не может быть нескольких правильных ответов — ответ однозначно определяется по входных данным.

Примечание

В первом примере Аля совершила только один ход. По условию задачи первый ход — это всегда положить одну конфету. Таким образом, Аля съела \(0\) конфет.

Во втором примере возможна такая последовательность действий Али:

  • положила \(1\) конфету,
  • положила \(2\) конфеты,
  • съела конфету,
  • съела конфету,
  • положила \(3\) конфеты,
  • съела конфету,
  • положила \(4\) конфеты,
  • съела конфету,
  • положила \(5\) конфет.

В таком случае, она совершит \(n=9\) ходов, в итоге банке будет \(1+2-1-1+3-1+4-1+5=11\) конфет. Ответ равен \(4\) так как суммурно она съела \(4\) конфеты.


Примеры
Входные данныеВыходные данные
1 1 1
0
2 9 11
4
3 5 0
3
4 3 2
1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя