#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;
const int N = 1e5+1;
void solve() {
int c,p;
cin >> c >> p;
//bir conteste birden \xe7ok submitleniyo
//>= m olanlar beni kullan?p +s alabilir
//m1 <= m2 ve s1 >= s2 ise c2 gereksiz
vector<pii> contests;
for (int i=1;i<=c;i++) {
int m,s;
cin >> m >> s;
contests.push_back({m,s});
}
sort(all(contests));
vector<pii> filt;
for (auto it : contests) {
while (!filt.empty() && filt.back().ss < it.ss && filt.back().ff == it.ff) filt.pop_back();
if (filt.empty() || filt.back().ss < it.ss) {
filt.push_back(it);
}
}
int ans = 0;
for (int i=1;i<=p;i++) {
int q,d;
cin >> q >> d;
auto it = upper_bound(all(filt),pii{q,inf});
if (it == filt.begin()) continue;
it = prev(it);
if (it->ss < d) continue;
ans+=it->ss-d;
}
cout << ans << '\n';
}
signed main() {
ios_base::sync_with_stdio(0); cin.tie(0);
#ifdef Dodi
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
int t = 1;
//cin >> t;
while (t --> 0) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |