#include <bits/stdc++.h>
using namespace std;
using lli = long long;
int main() {
int n, q;
cin >> n >> q;
lli D, A, B;
cin >> D >> A >> B;
vector<bool> marc(1e6 + 1);
for (int i = 0; i < n; ++i) {
int l, r;
cin >> l >> r;
for (int j = l; j <= r; ++j)
marc[j] = true;
}
vector<int> queries(q);
for (int &x: queries)
cin >> x;
vector<lli> dp(1e6 + 1);
for (int i = 1; i <= 1e6; ++i)
if (marc[i]) dp[i] = 1e18;
else dp[i] = min(dp[i - 1] + A, (i >= D ? dp[i - D] + B : lli(1e18)));
for (int x: queries)
cout << (dp[x] >= 1e18 ? -1 : dp[x]) << "\n";
}
# | 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... |