#include <iostream>
using namespace std;
typedef pair < int, int > PII;
const int NMAX = 2e5 + 5, KMAX = 2e5 + 5;
int N, K;
PII A[NMAX];
int T[KMAX];
static inline void Read ()
{
ios_base :: sync_with_stdio(false);
cin.tie(nullptr);
cin >> N >> K;
for(int i = 1; i <= N; ++i)
cin >> A[i].first >> A[i].second;
for(int i = 1; i <= K; ++i)
cin >> T[i];
return;
}
static inline void Solve ()
{
long long ans = 0;
for(int i = 1; i <= N; ++i)
{
int Last_Index = 0;
int Min = min(A[i].first, A[i].second);
int Max = max(A[i].first, A[i].second);
for(int j = K; j >= 1 && !Last_Index; --j)
if(T[j] >= Min && T[j] < Max)
Last_Index = j;
if(Last_Index == K)
{
ans += 1LL * Max;
continue;
}
int cnt = 0;
for(int j = Last_Index + 1; j <= K; ++j)
if(T[j] >= Max)
++cnt;
if(cnt & 1)
ans += 1LL * A[i].second;
else
ans += 1LL * A[i].first;
}
cout << ans << '\n';
return;
}
int main()
{
Read();
Solve();
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |