#include <bits/stdc++.h>
#define eb emplace_back
#define sz(V) ((int)(V).size())
#define befv(V) ((V)[sz(V)-2])
#define allv(V) ((V).begin()),((V).end())
#define sorv(V) sort(allv(V))
#define revv(V) reverse(allv(V))
#define univ(V) (V).erase(unique(allv(V)),(V).end())
#define rb(x) ((x)&(-(x)))
#define INFLL (0x3f3f3f3f3f3f3f3fll)
using namespace std;
typedef long long ll;
typedef __int128_t lll;
typedef pair<ll, ll> pll;
inline void fuk() { puts("0"); exit(0); }
const int MAXN = 200055;
const int MAXM = 200055;
const int MAXK = 400055;
struct BIT {
vector<ll> V;
lll d[MAXK];
int n;
void init() { memset(d, 0, MAXK * sizeof(lll)); n = 0; V.clear(); }
void add(ll x) { V.eb(x); }
void precal() {
sorv(V); univ(V);
n = sz(V);
}
void upd(ll x, lll r) {
int i = int(lower_bound(allv(V), x) - V.begin()) + 1;
for(; i <= n; i += rb(i))
d[i] += r;
}
lll get(ll x) {
lll r = 0;
int i = int(upper_bound(allv(V), x) - V.begin());
for(; i; i -= rb(i))
r += d[i];
return r;
}
} bita, bitb;
pll A[MAXN], B[MAXM];
int N, M;
lll f(ll X) { return bita.get(X) * X + bitb.get(X); }
void solve() {
bita.init(); bitb.init();
for(int i = 1; i <= N; i++) {
bita.add(1);
bita.add(A[i].first+1);
bitb.add(A[i].first+1);
}
bita.precal(); bitb.precal();
for(int i = 1; i <= N; i++) {
bita.upd(1, A[i].second);
bita.upd(A[i].first+1, -A[i].second);
bitb.upd(A[i].first+1, A[i].first * A[i].second);
}
ll presum = 0, c = 0;
for(int i = 1; i <= M; i++) {
ll v, n; tie(v, n) = B[i];
if(f(c+1) < presum + v) fuk();
if(f(c+n) < presum + v*n) fuk();
presum += v*n;
c += n;
}
}
int main() {
ios::sync_with_stdio(false);
cin >> N;
for(int i = 1; i <= N; i++) cin >> A[i].first >> A[i].second;
cin >> M;
for(int i = 1; i <= M; i++) cin >> B[i].first >> B[i].second;
sort(A+1, A+N+1); reverse(A+1, A+N+1);
sort(B+1, B+M+1); reverse(B+1, B+M+1);
solve();
swap(N, M);
swap(A, B);
solve();
puts("1");
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
22 ms |
19064 KB |
Output is correct |
2 |
Correct |
22 ms |
19064 KB |
Output is correct |
3 |
Correct |
12 ms |
12920 KB |
Output is correct |
4 |
Correct |
22 ms |
19064 KB |
Output is correct |
5 |
Correct |
22 ms |
19064 KB |
Output is correct |
6 |
Correct |
22 ms |
19192 KB |
Output is correct |
7 |
Correct |
12 ms |
12920 KB |
Output is correct |
8 |
Correct |
12 ms |
12920 KB |
Output is correct |
9 |
Correct |
22 ms |
19064 KB |
Output is correct |
10 |
Correct |
12 ms |
12920 KB |
Output is correct |
11 |
Correct |
23 ms |
19064 KB |
Output is correct |
12 |
Correct |
22 ms |
19196 KB |
Output is correct |
13 |
Correct |
12 ms |
12796 KB |
Output is correct |
14 |
Correct |
12 ms |
12920 KB |
Output is correct |
15 |
Correct |
12 ms |
12920 KB |
Output is correct |
16 |
Correct |
21 ms |
19064 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
22 ms |
19192 KB |
Output is correct |
2 |
Correct |
22 ms |
19192 KB |
Output is correct |
3 |
Correct |
12 ms |
12920 KB |
Output is correct |
4 |
Correct |
13 ms |
12920 KB |
Output is correct |
5 |
Correct |
12 ms |
12924 KB |
Output is correct |
6 |
Correct |
26 ms |
19164 KB |
Output is correct |
7 |
Correct |
22 ms |
19064 KB |
Output is correct |
8 |
Correct |
12 ms |
12920 KB |
Output is correct |
9 |
Correct |
12 ms |
12920 KB |
Output is correct |
10 |
Correct |
14 ms |
12884 KB |
Output is correct |
11 |
Correct |
12 ms |
12924 KB |
Output is correct |
12 |
Correct |
12 ms |
12920 KB |
Output is correct |
13 |
Correct |
12 ms |
12920 KB |
Output is correct |
14 |
Correct |
22 ms |
19068 KB |
Output is correct |
15 |
Correct |
22 ms |
19064 KB |
Output is correct |
16 |
Correct |
22 ms |
19192 KB |
Output is correct |
17 |
Correct |
22 ms |
19196 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
12920 KB |
Output is correct |
2 |
Correct |
12 ms |
12920 KB |
Output is correct |
3 |
Correct |
22 ms |
19192 KB |
Output is correct |
4 |
Correct |
22 ms |
19192 KB |
Output is correct |
5 |
Correct |
12 ms |
12888 KB |
Output is correct |
6 |
Correct |
23 ms |
19192 KB |
Output is correct |
7 |
Correct |
22 ms |
19192 KB |
Output is correct |
8 |
Correct |
23 ms |
19192 KB |
Output is correct |
9 |
Correct |
12 ms |
12920 KB |
Output is correct |
10 |
Correct |
12 ms |
12920 KB |
Output is correct |
11 |
Correct |
12 ms |
12924 KB |
Output is correct |
12 |
Correct |
12 ms |
12920 KB |
Output is correct |
13 |
Correct |
12 ms |
12920 KB |
Output is correct |
14 |
Correct |
22 ms |
19192 KB |
Output is correct |
15 |
Correct |
22 ms |
19064 KB |
Output is correct |
16 |
Correct |
22 ms |
19192 KB |
Output is correct |
17 |
Correct |
22 ms |
19192 KB |
Output is correct |
18 |
Correct |
22 ms |
19192 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
12 ms |
12920 KB |
Output is correct |
2 |
Correct |
12 ms |
12920 KB |
Output is correct |
3 |
Correct |
12 ms |
12920 KB |
Output is correct |
4 |
Correct |
22 ms |
19192 KB |
Output is correct |
5 |
Correct |
27 ms |
19192 KB |
Output is correct |
6 |
Correct |
22 ms |
19192 KB |
Output is correct |
7 |
Correct |
22 ms |
19192 KB |
Output is correct |
8 |
Correct |
12 ms |
12920 KB |
Output is correct |
9 |
Correct |
13 ms |
12920 KB |
Output is correct |
10 |
Correct |
13 ms |
12924 KB |
Output is correct |
11 |
Correct |
13 ms |
13048 KB |
Output is correct |
12 |
Correct |
13 ms |
12884 KB |
Output is correct |
13 |
Correct |
13 ms |
12920 KB |
Output is correct |
14 |
Correct |
23 ms |
19192 KB |
Output is correct |
15 |
Correct |
23 ms |
19192 KB |
Output is correct |
16 |
Correct |
27 ms |
19192 KB |
Output is correct |
17 |
Correct |
27 ms |
19192 KB |
Output is correct |
18 |
Correct |
24 ms |
19192 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
13 ms |
12920 KB |
Output is correct |
2 |
Correct |
23 ms |
19192 KB |
Output is correct |
3 |
Correct |
13 ms |
12920 KB |
Output is correct |
4 |
Correct |
23 ms |
19196 KB |
Output is correct |
5 |
Correct |
13 ms |
12936 KB |
Output is correct |
6 |
Correct |
23 ms |
19192 KB |
Output is correct |
7 |
Correct |
23 ms |
19192 KB |
Output is correct |
8 |
Correct |
13 ms |
12920 KB |
Output is correct |
9 |
Correct |
13 ms |
12920 KB |
Output is correct |
10 |
Correct |
13 ms |
13048 KB |
Output is correct |
11 |
Correct |
13 ms |
12920 KB |
Output is correct |
12 |
Correct |
13 ms |
12920 KB |
Output is correct |
13 |
Correct |
23 ms |
19192 KB |
Output is correct |
14 |
Correct |
23 ms |
19196 KB |
Output is correct |
15 |
Correct |
23 ms |
19192 KB |
Output is correct |
16 |
Correct |
23 ms |
19192 KB |
Output is correct |
17 |
Correct |
23 ms |
19192 KB |
Output is correct |
18 |
Correct |
24 ms |
19192 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
22 ms |
19192 KB |
Output is correct |
2 |
Correct |
22 ms |
19192 KB |
Output is correct |
3 |
Correct |
22 ms |
19108 KB |
Output is correct |
4 |
Correct |
22 ms |
19164 KB |
Output is correct |
5 |
Correct |
12 ms |
12892 KB |
Output is correct |
6 |
Correct |
12 ms |
12920 KB |
Output is correct |
7 |
Correct |
12 ms |
12920 KB |
Output is correct |
8 |
Correct |
12 ms |
12920 KB |
Output is correct |
9 |
Correct |
12 ms |
12920 KB |
Output is correct |
10 |
Correct |
12 ms |
12920 KB |
Output is correct |
11 |
Correct |
12 ms |
12920 KB |
Output is correct |
12 |
Correct |
12 ms |
12920 KB |
Output is correct |
13 |
Correct |
12 ms |
12920 KB |
Output is correct |
14 |
Correct |
22 ms |
19064 KB |
Output is correct |
15 |
Correct |
22 ms |
19192 KB |
Output is correct |
16 |
Correct |
22 ms |
19064 KB |
Output is correct |
17 |
Correct |
22 ms |
19192 KB |
Output is correct |
18 |
Correct |
22 ms |
19064 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
30 ms |
19320 KB |
Output is correct |
2 |
Correct |
14 ms |
13048 KB |
Output is correct |
3 |
Correct |
27 ms |
19320 KB |
Output is correct |
4 |
Correct |
18 ms |
13304 KB |
Output is correct |
5 |
Correct |
30 ms |
19320 KB |
Output is correct |
6 |
Correct |
17 ms |
13176 KB |
Output is correct |
7 |
Correct |
29 ms |
19320 KB |
Output is correct |
8 |
Correct |
16 ms |
13176 KB |
Output is correct |
9 |
Correct |
17 ms |
13304 KB |
Output is correct |
10 |
Correct |
18 ms |
13176 KB |
Output is correct |
11 |
Correct |
17 ms |
13176 KB |
Output is correct |
12 |
Correct |
17 ms |
13176 KB |
Output is correct |
13 |
Correct |
17 ms |
13240 KB |
Output is correct |
14 |
Correct |
29 ms |
19320 KB |
Output is correct |
15 |
Correct |
29 ms |
19292 KB |
Output is correct |
16 |
Correct |
30 ms |
19320 KB |
Output is correct |
17 |
Correct |
29 ms |
19320 KB |
Output is correct |
18 |
Correct |
30 ms |
19320 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
79 ms |
20592 KB |
Output is correct |
2 |
Correct |
35 ms |
14396 KB |
Output is correct |
3 |
Correct |
97 ms |
20820 KB |
Output is correct |
4 |
Correct |
59 ms |
15836 KB |
Output is correct |
5 |
Correct |
96 ms |
20916 KB |
Output is correct |
6 |
Correct |
67 ms |
16088 KB |
Output is correct |
7 |
Correct |
79 ms |
20588 KB |
Output is correct |
8 |
Correct |
63 ms |
16148 KB |
Output is correct |
9 |
Correct |
58 ms |
15860 KB |
Output is correct |
10 |
Correct |
58 ms |
15808 KB |
Output is correct |
11 |
Correct |
60 ms |
15860 KB |
Output is correct |
12 |
Correct |
73 ms |
16108 KB |
Output is correct |
13 |
Correct |
58 ms |
15860 KB |
Output is correct |
14 |
Correct |
105 ms |
20876 KB |
Output is correct |
15 |
Correct |
103 ms |
20868 KB |
Output is correct |
16 |
Correct |
103 ms |
20848 KB |
Output is correct |
17 |
Correct |
108 ms |
20844 KB |
Output is correct |
18 |
Correct |
107 ms |
20932 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
165 ms |
21964 KB |
Output is correct |
2 |
Correct |
78 ms |
17008 KB |
Output is correct |
3 |
Correct |
187 ms |
22428 KB |
Output is correct |
4 |
Correct |
25 ms |
13816 KB |
Output is correct |
5 |
Correct |
208 ms |
22748 KB |
Output is correct |
6 |
Correct |
94 ms |
18416 KB |
Output is correct |
7 |
Correct |
192 ms |
22504 KB |
Output is correct |
8 |
Correct |
27 ms |
13688 KB |
Output is correct |
9 |
Correct |
146 ms |
19560 KB |
Output is correct |
10 |
Correct |
109 ms |
18932 KB |
Output is correct |
11 |
Correct |
106 ms |
18876 KB |
Output is correct |
12 |
Correct |
108 ms |
19120 KB |
Output is correct |
13 |
Correct |
143 ms |
19432 KB |
Output is correct |
14 |
Correct |
195 ms |
22588 KB |
Output is correct |
15 |
Correct |
196 ms |
22732 KB |
Output is correct |
16 |
Correct |
196 ms |
22608 KB |
Output is correct |
17 |
Correct |
197 ms |
22632 KB |
Output is correct |
18 |
Correct |
195 ms |
22540 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
193 ms |
23424 KB |
Output is correct |
2 |
Correct |
187 ms |
23476 KB |
Output is correct |
3 |
Correct |
137 ms |
20608 KB |
Output is correct |
4 |
Correct |
97 ms |
21232 KB |
Output is correct |
5 |
Correct |
306 ms |
25224 KB |
Output is correct |
6 |
Correct |
181 ms |
27728 KB |
Output is correct |
7 |
Correct |
215 ms |
26088 KB |
Output is correct |
8 |
Correct |
161 ms |
26984 KB |
Output is correct |
9 |
Correct |
205 ms |
28016 KB |
Output is correct |
10 |
Correct |
203 ms |
28124 KB |
Output is correct |
11 |
Correct |
202 ms |
29088 KB |
Output is correct |
12 |
Correct |
203 ms |
29144 KB |
Output is correct |
13 |
Correct |
213 ms |
29196 KB |
Output is correct |
14 |
Correct |
31 ms |
14840 KB |
Output is correct |
15 |
Correct |
410 ms |
30408 KB |
Output is correct |
16 |
Correct |
408 ms |
30304 KB |
Output is correct |
17 |
Correct |
407 ms |
30264 KB |
Output is correct |
18 |
Correct |
402 ms |
30276 KB |
Output is correct |