#include <bits/stdc++.h>
using namespace std;
class MeetingScheduler
{
public :
priority_queue<pair<long long,int>, vector<pair<long long,int>>,
greater<pair<long long,int>>> busyRooms;
priority_queue<int, vector<int>, greater<int>> avblRooms;
MeetingScheduler(int n)
{
for(int i=1;i<=n;i++)
{
avblRooms.push(i);
}
}
int scheduleMeeting(long long startTime,long long endTime )
{
int room=-1;
if (endTime <= startTime) {
throw invalid_argument("Invalid meeting interval");
}
while(busyRooms.size()!=0 && startTime >= busyRooms.top().first )
{
avblRooms.push(busyRooms.top().second);
busyRooms.pop();
}
if(avblRooms.size()==0)
{
return room;
}
else
{
room = avblRooms.top();
avblRooms.pop();
busyRooms.push({endTime,room});
}
return room;
}
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBNZWV0aW5nU2NoZWR1bGVyCnsKCXB1YmxpYyA6Cglwcmlvcml0eV9xdWV1ZTxwYWlyPGxvbmcgbG9uZyxpbnQ+LCB2ZWN0b3I8cGFpcjxsb25nIGxvbmcsaW50Pj4sCglncmVhdGVyPHBhaXI8bG9uZyBsb25nLGludD4+PiBidXN5Um9vbXM7Cglwcmlvcml0eV9xdWV1ZTxpbnQsIHZlY3RvcjxpbnQ+LCBncmVhdGVyPGludD4+IGF2YmxSb29tczsKCQoJTWVldGluZ1NjaGVkdWxlcihpbnQgbikKCXsKCQlmb3IoaW50IGk9MTtpPD1uO2krKykKCQl7CgkJCWF2YmxSb29tcy5wdXNoKGkpOwoJCX0KCX0KCQoJCglpbnQgc2NoZWR1bGVNZWV0aW5nKGxvbmcgbG9uZyBzdGFydFRpbWUsbG9uZyBsb25nIGVuZFRpbWUgKQoJCgl7CgkJaW50IHJvb209LTE7CgkJIGlmIChlbmRUaW1lIDw9IHN0YXJ0VGltZSkgewogICAgICAgICAgICB0aHJvdyBpbnZhbGlkX2FyZ3VtZW50KCJJbnZhbGlkIG1lZXRpbmcgaW50ZXJ2YWwiKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgd2hpbGUoYnVzeVJvb21zLnNpemUoKSE9MCAmJiBzdGFydFRpbWUgPj0gYnVzeVJvb21zLnRvcCgpLmZpcnN0ICkKICAgICAgICB7CiAgICAgICAgCWF2YmxSb29tcy5wdXNoKGJ1c3lSb29tcy50b3AoKS5zZWNvbmQpOwogICAgICAgIAlidXN5Um9vbXMucG9wKCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGF2YmxSb29tcy5zaXplKCk9PTApCiAgICAgICAgewogICAgICAgIAlyZXR1cm4gcm9vbTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAJcm9vbSA9IGF2YmxSb29tcy50b3AoKTsKICAgICAgICAJYXZibFJvb21zLnBvcCgpOwogICAgICAgIAlidXN5Um9vbXMucHVzaCh7ZW5kVGltZSxyb29tfSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiByb29tOwoJfQp9OwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==