BD202314 跑步
作者:
Jiarui1111
,
2023-09-12 18:58:15
,
所有人可见
,
阅读 107
#include <bits/stdc++.h>
using namespace std;
#define int long long
constexpr int N = 200010, M = 1000010;
constexpr int inf = 1E18, mod = 1000000007;
int n;
pair<int, int> a[N];
map<int, int> mp;
inline void Main() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i].first >> a[i].second;
if(!mp[a[i].first]) mp[a[i].first] = a[i].second;
else mp[a[i].first] = min(mp[a[i].first], a[i].second);
}
for (int i = 1; i <= n; i ++) {
a[i].second = mp[a[i].first];
}
sort(a + 1, a + 1 + n);
// for (int i = 1; i <= n; i ++) {
// cout << a[i].first << " " << a[i].second << '\n';
// }
int ans = 0;
for (int i = 1; i <= n; i ++) {
int j = i;
while((j + 1 <= n && a[j + 1].second > a[j].second) || (j + 1 <= n && a[j + 1].first == a[j].first && a[j + 1].second == a[j].second)) ++ j;
// cout << i << " " << j << '\n';
ans = max(ans, j - i + 1);
i = j;
}
cout << ans << '\n';
}
signed main() {
cin.tie(nullptr)->sync_with_stdio(false);
int T = 1;
while(T --) Main();
return 0;
}