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;
const int N = 1e5+3;
int A[N], B[N], C[N];
int x1[N], x2[N], pa[N];
struct BIT{
int bit[N];
void upd(int p, int v){
for(int i = p; i < N; i += i & -i){
bit[i] += v;
}
}
int qry(int p){
int ret = 0;
for(int i = p; i; i -= i & -i){
ret += bit[i];
}
return ret;
}
} bit0, bit1;
int32_t main(){
int n, k;
cin >> n >> k;
for(int i = 0; i < n; i++){
cin >> A[i] >> B[i];
x1[i] = min(A[i], B[i]);
x2[i] = max(A[i], B[i]);
pa[i] = x1[i] != A[i];
}
for(int i = 0; i < k; i++){
cin >> C[i];
}
// A[i] <= C[i] < B[i]
long long ans = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < k; j++){
if(x1[i] <= C[j] && C[j] < x2[i]){
pa[i] = true;
}else if(x2[i] <= C[j]){
pa[i] ^= 1;
}
}
ans += pa[i] ? x2[i] : x1[i];
}
cout << ans << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |