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

poj 3658 Artificial Lake

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

poj 3658 Artificial Lake

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 101000#define inf 0x3f3f3f3fusing namespace std;struct Pool{long long w;int h,id;Pool(long long _w=0,int _h=0,int _id=0):w(_w),h(_h),id(_id){}}pool[N],stk[N];int top,n;long long ans[N],now;int main(){//freopen("test.in","r",stdin);int i,j,k;int temp=inf,id;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%lld%lld",&pool[i].w,&pool[i].h);pool[i].id=i;if(temp>pool[i].h)temp=pool[i].h,id=i;}stk[++top]=pool[id];stk[0].h=inf;int l=id,r=id,p;pool[0].h=pool[n+1].h=inf;for(int rn=1;rn<=n;rn++){long long add=0;if(pool[l-1].h<pool[r+1].h)p=--l;else p=++r;while(pool[p].h>stk[top].h&&top){stk[top].w+=add;ans[stk[top].id]=now+stk[top].w;now+=stk[top].w*(min(pool[p].h,stk[top-1].h)-stk[top].h);add=stk[top].w;top--;}pool[p].w+=add;stk[++top]=pool[p];}for(i=1;i<=n;i++)printf("%lldn",ans[i]);return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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