2018北郵網研機試-D
阿新 • • 發佈:2018-12-08
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; }
注:若有錯有誤,歡迎留言修改!謝謝了!