// Problem#: 13858
// Submission#: 3622037
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
struct node
{
int flag;
int x;
}A[40005];
int counter=0;
bool cmp(node a, node b)
{
if (a.x==b.x)
return a.flag<b.flag;
return a.x<b.x;
}
int main()
{
int n,x,y,z;
scanf("%d%d%d%d",&n,&x,&y,&z);
int i;
for (i=0;i<n;i++)
{
int a,b;
scanf("%d%d",&a,&b);
A[counter].flag=0;
A[counter].x=a;
counter++;
A[counter].flag=1;
A[counter].x=b;
counter++;
}
sort(A,A+counter,cmp);
int now=0;
int hot=0;
int maxn=0;
for (i=0;i<counter;i++)
{
if (!A[i].flag)
{
now++;
int total=now*y+hot*z+(n-now-hot)*x;
if (total>maxn) maxn=total;
}
else
{
now--;
hot++;
}
}
printf("%d\n",maxn);
}
Sicily13858
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.