Minimum Platforms # Greedy
#include <bits/stdc++.h>
using namespace std;
int findPlatform(int arr[], int dep[], int n){
vector<pair<int,int>> slots;
for(int i=0;i<n;i++){
slots[i].first = dep[i];
slots[i].second = arr[i];
}
sort(slots.begin(), slots.end());
int c = slots[0].first;
int ans = 1;
for(int i=0;i<n;i++){
if(slots[i].second > c) c = slots[i].first;
else ans++;
}
return ans;
}
int main(){
int n;
cin >> n;
int arr[n];
int dep[n];
for(int i=0;i<n;i++){
cin >> arr[i];
}
for(int i=0;i<n;i++){
cin >> dep[i];
}
cout << findPlatform(arr, dep, n);
return 0;
}
Comments
Post a Comment