Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- const int N = 1e6 + 6;
- int n;
- int a[N], b[N];
- int ans[N];
- int x, y;
- stack<int> t;
- int sum = 0;
- signed main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- int res = -1e18;
- cin >> n;
- for (int i = 1; i <= n; i++)
- cin >> a[i] >> b[i];
- cin >> x >> y;
- for (int i = 1; i <= n; i++) {
- ans[i] += sum * y;
- while (t.size() > 0 && a[t.top()] <= a[i])
- sum -= b[t.top()], t.pop();
- t.push(i);
- sum += b[i];
- }
- t = {};
- sum = 0;
- for (int i = n; i > 0; i--) {
- ans[i] += sum * y;
- while (t.size() > 0 && a[t.top()] <= a[i])
- sum -= b[t.top()], t.pop();
- t.push(i);
- sum += b[i];
- }
- for (int i = 1; i <= n; i++)
- res = max(res, ans[i] + b[i] * y - a[i] * x);
- cout << res;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement