设为首页 加入收藏

TOP

2017ZZUACM省赛选拔试题部分题解----谨以纪念我这卡线滚粗的美好经历(四)
2017-10-12 18:16:01 】 浏览:4331
Tags:2017ZZUACM 选拔 试题 部分 题解 ---- 纪念 卡线滚 美好 经历
lue;
8 int weight; 9 }; 10 bool bmp(Rem a,Rem b) 11 { 12 return (a.value<b.value); 13 } 14 int temp=0; 15 int a[maxn];int h[maxn]; 16 int c0[maxn]; 17 int c[maxn]; 18 Rem rem[maxn]; 19 Rem rem0[maxn]; 20 int m,b,H,n; 21 int main() 22 { 23 int T; 24 scanf("%d",&T); 25 while(T--) 26 { 27 temp=0; 28 int res=1000000000+7; 29 scanf("%d %d %d %d",&m,&b,&H,&n); 30 for(int i=1;i<=m;i++) 31 { 32 scanf("%d",&a[i]); 33 } 34 for(int i=1;i<=n;i++) 35 { 36 scanf("%d",&h[i]); 37 } 38 for(int i=1;i<=m;i++) 39 { 40 scanf("%d",&c0[i]); 41 } 42 int test=1; 43 int u=1,r=1; 44 int weight=0; 45 int needweight=0; 46 int num=0; 47 for(;test<=n;test++) 48 { 49 temp=0;weight=0;needweight=0;u=1;r=1; 50 for(int k=1;k<=m;k++) 51 { 52 scanf("%d",&c[k]); 53 if(c[k]<c0[k]) 54 { 55 rem[u].value=c0[k]-c[k]; 56 rem[u++].weight=a[k]; 57 temp+=c[k]*a[k]; 58 } 59 else 60 { 61 rem0[r].value=c[k]-c0[k]; 62 rem0[r++].weight=a[k]; 63 temp+=c0[k]*a[k]; 64 weight+=a[k]; 65 } 66 } 67 if(weight>=b) 68 { 69 sort(rem0+1,rem0+r,bmp); 70 needweight=weight-b; 71 for(int k=1;k<r;k++) 72 { 73 if(rem0[k].weight>=needweight) 74 { 75 temp+=needweight*rem0[k].value; 76 needweight=0; 77 break; 78 } 79 else 80 { 81 needweight-=rem0[k].weight; 82 temp+=rem0[k].value*rem0[k].weight; 83 } 84 } 85 if(res>temp+H+h[test]) 86 { 87 res=temp+H+h[test]; 88 num=test; 89 } 90 } 91 else 92 { 93 sort(rem+1,rem+u,bmp); 94 needweight=b-weight; 95 for(int k=1;k<u;k++) 96 { 97 if(rem[k].weight>=needweight) 98 { 99 needweight=0; 100 temp+=needweight*rem[k].value; 101 break; 102 } 103 else 104 { 105 needweight-=rem[k].weight; 106 temp+=rem[k].value*rem[k].weight; 107 } 108 } 109 if(res>temp+H+h[test]) 110 { 111 res=temp+H+h[test]; 112 num=test; 113 } 114 } 115 } 116 printf("%d %d\n",num,res); 117 } 118 return 0; 119 }

 

好了,还有E题不会,以后再说...

 

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇bzoj3289 -- 莫队+树状数组 下一篇C++实现的控制台-贪吃蛇

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目