题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1345

  因为合并的花费是较大数的权值,所以每个数肯定是和附近的小数合并完后才与大数合并,这样才不会造成浪费。所以我们可以用一个栈底大栈顶小的单调栈来维护序列, 每次把数压进去,被弹出的数就与要压进去的数合并。最后从上到下合并整个栈,就可以AC了。

  代码:

#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<algorithm>
#include<queue>
#include<vector>
#include<map>
#define ll long long
#define ull unsigned long long
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
#define lowbit(x) (x& -x)
#define mod 1000000000
#define inf 0x3f3f3f3f
#define eps 1e-18
#define maxn 510
inline ll read(){ll tmp=; char c=getchar(),f=; for(;c<''||''<c;c=getchar())if(c=='-')f=-; for(;''<=c&&c<='';c=getchar())tmp=(tmp<<)+(tmp<<)+c-''; return tmp*f;}
inline ll power(ll a,ll b){ll ans=; for(;b;b>>=){if(b&)ans=ans*a%mod; a=a*a%mod;} return ans;}
inline ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
inline void swap(int &a,int &b){int tmp=a; a=b; b=tmp;}
using namespace std;
int st[maxn];
int n,tp;
int main()
{
n=read();
ll ans=;
tp=; st[]=read();
for(int i=;i<=n;i++){
int k=read();
if(tp&&st[tp]<k){
while(tp&&st[tp]<k)--tp,ans+=st[tp];
ans+=k-st[tp];
}
st[++tp]=k;
}
for(int i=;i<tp;i++)
ans+=st[i];
printf("%lld\n",ans);
}

bzoj1345

最新文章

  1. iis6.0与asp.net的运行原理
  2. ecshop后台增加|添加商店设置选项和使用方法详解
  3. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy
  4. 【UXPA工作坊小记】郎学明:做更“有用”的用户研究
  5. bzoj 2245: [SDOI2011]工作安排
  6. EXPDP
  7. java poi导入EXCEL xls文件代码
  8. ionic+cordova+angularJs监听刷新
  9. C# and JSON
  10. java Arrays.asList()和Collections.addAll()
  11. JS,JQuery杂谈
  12. 2012 T-SQL 新特性 and O2O项目
  13. session cookie用法
  14. Prim和Kruskal最小生成树
  15. iOSiOS开发之数据存储之NSKeyedArchiver
  16. SDN学习之RYU源码安装
  17. 关于sql注入漏洞的挖掘及渗透工具简介
  18. ASP.NET 页面执行顺序
  19. @Transactional spring 配置事务 注意事项
  20. 【托业】【新东方托业全真模拟】TEST07~08-----P5~6

热门文章

  1. ipod锁定后的恢复
  2. centos7.0 安装docker
  3. Linux安装mysql8.*
  4. 关于angularjs的复选框选中
  5. C#中enum的总结(转载)
  6. 巨蟒django之CRM2 展示客户列表&amp;&amp;分页
  7. General Decimal Arithmetic 浮点算法
  8. 我的Android进阶之旅------>Android中高低API版本兼容使用@TargetApi或者@SuppressLint("NewApi")
  9. JavaScript你所不知道的困惑(3)
  10. SDWebImage浅析