This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define pf push_front
#define ppb pop_back
#define ppf pop_front
#define eb emplace_back
typedef long double ld;
int N, M, mto, S[100005], V[100005], C[100005];
pair<int, int> O[100005];
deque<int> D;
main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M;
for (int i = 1; i <= N; i++)
cin >> O[i].second >> O[i].first;
sort(O + 1, O + 1 + N);
for (int i = 1; i <= N; i++)
tie(V[i], S[i]) = O[i];
for (int i = 1; i <= M; i++) cin >> C[i];
sort(C + 1, C + 1 + M);
for (int i = 1; i <= N; i++) {
while (!D.empty() && (M == 1 || S[D.back()] > C[M - 1])) D.ppb();
while (!D.empty() && (M - D.size() <= 0 || S[D.front()] > C[M - D.size()])) D.ppf();
if (C[M] >= S[i]) D.pb(i);
mto = max(mto, (int)D.size());
}
cout << mto << '\n';
}
Compilation message (stderr)
joi2019_ho_t2.cpp:17:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
main() {
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |