1. 程式人生 > >2018北郵網研機試-D

2018北郵網研機試-D

D 最大價值

對於每一個零件都有一個適宜溫度區間,[Ri,Ji],當溫度t<Ri,零件價值為x,當t>Ji,零件價值為z;當溫度適宜,價值為y。且y>x,y>z。此刻,有一恆溫箱,可確定溫度t。

輸入

第一行按順序分別為 n,x,y,z。0<n<20000

接下來n行為 每一個零件的適宜溫度區間0<Ri<Ji<109

輸出

確定一個溫度值t,在這溫度下所有零件的總價值最大,並輸出該價值

 

 

測試資料

3 1 3 2

1 4

2 5

7 10

輸出

7    

 

#include "stdio.h"
typedef struct Tem
{
	int l;
	int r;
}Tem;
Tem tem[20001];
int main()
{
	int n,x,y,z;
	int max=0;
	scanf("%d%d%d%d",&n,&x,&y,&z);
	for(int i=0;i<n;i++)
	{
		scanf("%d%d",&tem[i].l,&tem[i].r);
		if(tem[i].r>max)
		{
			max = tem[i].r;
		}
	}
	int sum=0,t=0;
	for(int j=0;j<max;j++)
	{
		sum=0;
		for(int i=0;i<n;i++)
		{
			if(tem[i].l>j&&tem[i].r>j)
			    sum+=x;
			else if(j>tem[i].l&&tem[i].r<j)
			    sum+=z;
			else 
			    sum+=y; 
		}
		if(t<sum)
		    t = sum; 
	} 
	printf("%d\n",t);
	return 0;
}  

注:若有錯有誤,歡迎留言修改!謝謝了!