后悔法。
#include <queue>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define ll long long
#define rep(i,x,y) for(ll i=(x);i<=(y);i++)
#define repd(i,x,y) for(ll i=(x);i>=(y);i--)
using namespace std;
const ll N=1e5+5;
ll n,x,y,z,ans;
priority_queue<ll>in,out;
inline ll read() {
ll x=0;char ch=getchar();bool f=0;
while(ch>'9'||ch<'0'){if(ch=='-')f=1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
return f?-x:x;
}
int main() {
n=read(),x=read(),y=read(),z=read();
rep(i,1,n) {
ll a=read(),b=read();
rep(j,1,abs(a-b)) {
if(a>b) {
if(in.empty()) ans+=y,out.push(i*z+y);
else {
ll p=-in.top();
if(