Restaurant Customers
You are given the arrival and leaving times of customers in a restaurant.
What was the maximum number of customers in the restaurant at any time?
Input
The first input line has an integer : the number of customers.
After this, there are lines that describe the customers. Each line has two integers and : the arrival and leaving times of a customer.
You may assume that all arrival and leaving times are distinct.
Output
Print one integer: the maximum number of customers.
Constraints
Input:
Output:
What was the maximum number of customers in the restaurant at any time?
Input
The first input line has an integer : the number of customers.
After this, there are lines that describe the customers. Each line has two integers and : the arrival and leaving times of a customer.
You may assume that all arrival and leaving times are distinct.
Output
Print one integer: the maximum number of customers.
Constraints
Input:
3
5 8
2 4
3 9
Output:
2
#include <bits/stdc++.h>
using namespace std;
#define int long long int#define F first#define S second#define pb push_back#define si set <int>#define vi vector <int>#define pii pair <int, int>#define vpi vector <pii>#define vpp vector <pair<int, pii>>#define mii map <int, int>#define mpi map <pii, int>#define spi set <pii>#define endl "\n"#define sz(x) ((int) x.size())#define all(p) p.begin(), p.end()#define double long double#define que_max priority_queue <int>#define que_min priority_queue <int, vi, greater<int>>#define bug(...) __f (#__VA_ARGS__, __VA_ARGS__)#define print(a) for(auto x : a) cout << x << " "; cout << endl#define print1(a) for(auto x : a) cout << x.F << " " << x.S << endl#define print2(a,x,y) for(int i = x; i < y; i++) cout<< a[i]<< " "; cout << endl
inline int power(int a, int b){ int x = 1; while (b) { if (b & 1) x *= a; a *= a; b >>= 1; } return x;}
template <typename Arg1>void __f (const char* name, Arg1&& arg1) { cout << name << " : " << arg1 << endl; }template <typename Arg1, typename... Args>void __f (const char* names, Arg1&& arg1, Args&&... args){ const char* comma = strchr (names + 1, ','); cout.write (names, comma - names) << " : " << arg1 << " | "; __f (comma + 1, args...);}
const int N = 200005;
void solve() {// n is the size of the arrayint n;cin>>n;
int ans=INT_MIN;int curr=0;// vector s and e for start and end respectivelyvi s;vi e;
for(int i=0; i<n; i++){ int x,y; cin>>x>>y; // pushing x an y to the start and the end vector s.push_back(x); e.push_back(y);}
// sorting both the vectorssort(s.begin(),s.end());sort(e.begin(),e.end());// st to keep a pointer in the vector e ( end )int st=0;
for(int i=0; i<n; i++){ //if the end is greater than the current start then person is entering if(e[st]>s[i]) curr++; // else we should increase the end time else st++; // getting the maximum of our answer ans=max(ans,curr);}cout<<ans<<endl;
}
int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
clock_t z = clock();
int t = 1;// cin >> t; while (t--) solve();
return 0;}
0 Comments
If you have any doubts/suggestion/any query or want to improve this article, you can comment down below and let me know. Will reply to you soon.