Задача CSES - Room Allocation

Задача: CSES - Room Allocation
Я решал ее так:
будем решать с помощью двух указателей. Сначала нам надо перебирать правую границу и удалять(сдвигать) левую когда самый левый элемент нам уже не нужен. Если у нас в сете есть число, то мы даем комнату i-тому человеку, а иначе нужна будет еще одна комната. Это же правильная идея да? Я написал код но к сожалению у меня неправильный ответ

Код: #include <bits/stdc++.h>using namespace std;#define F first#define S secon - Pastebin.com

1 лайк

На примере ниже код выводит неправильный ответ.
3
2 10
3 5
6 7
Тут хватает две комнаты. Первому даем первую комнату, второму даем вторую комнату, а затем освобожается вторая комната, которую даем третьему.

3 лайка

Тут идея не совсем правильная