栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1434 Fill the Cisterns!

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1434 Fill the Cisterns!

#include <stdio.h>#include <algorithm>using namespace std;struct cistern{__int64 b,h,s;__int64 v;};cistern c[50004];bool cmp(cistern a,cistern b){return a.b<b.b;}int main(){int cas;__int64 vol;scanf("%d",&cas);while(cas--){int i,n;__int64 w,d;double sum=0,mid,low,high=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%I64d%I64d%I64d%I64d",&c[i].b,&c[i].h,&w,&d);c[i].s=w*d;c[i].v=c[i].s*c[i].h;high=max(high,(double)(c[i].b+c[i].h));sum+=c[i].v;}scanf("%I64d",&vol);if(vol>sum){printf("OVERFLOWn");continue;}sort(c,c+n,cmp);low=c[0].b;while(high-low>0.0001){sum=0;mid=(high+low)/2;for(i=0;i<n;i++){if(mid>=c[i].b+c[i].h)sum+=c[i].v;else if(mid>c[i].b)sum+=(mid-c[i].b)*c[i].s;if(mid<c[i].b)break;}if(sum>=vol)high=mid;if(sum<vol)low=mid;}printf("%.2lfn",mid);}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号