Uputstvo
Najmanji broj sala jednak je najvećem broju predavanja koja se odvijaju u istom trenutku – metoda događaja. Kraj (−1) se u istom trenutku obrađuje pre početka (+1).
Rešenje (C++)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<int, int>> dog;
for (int i = 0; i < n; i++) {
int s, e;
cin >> s >> e;
dog.push_back({s, +1});
dog.push_back({e, -1});
}
sort(dog.begin(), dog.end()); // (t, -1) pre (t, +1)
int tren = 0, naj = 0;
for (auto &d : dog) {
tren += d.second;
naj = max(naj, tren);
}
cout << naj << endl;
return 0;
}