模拟乱搞

要说算法的话...乱搞算法?

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
using namespace std; const int N=;
int l,r,x1[N],x2[N];
int L,R,idl,idr; void init()
{
R=L=;
for (int i=l;i<=r;i += )
{
if (i<)
{
scanf("%d", &x1[(-i)/]);
if (L <= x1[(-i)/]) {
L = x1[(-i)/]; idl = (-i)/;
}
} else {
scanf("%d", &x2[i/]);
if (R < x2[i/]) {
R = x2[i/]; idr = i/;
}
}
}
} int del(int a, int b) {
if (a <= b) return * a;
else return a + b;
} int solve() {
l = (-l) / ; r = r / ; if (R == L) {
int k = , t = ;
int tmp = x1[l];
for (int i = l; i > idl; i--) {
k += tmp; tmp = max(tmp, x1[i-]);
}
tmp = x2[r];
for (int i = r; i > idr; i--) {
t += tmp; tmp = max(tmp, x2[i-]);
} return (idl + idr + ) * R * + min(k, t) * * ;
} else {
int T = min(R, L);
int p = , q = , k = , t = ;
while (p < l && x1[p] < T) p++;
while (q < r && x2[q] < T) q++; if (R > L) {
int tmp = x2[q];
for (int i = q; x2[i] <= L; i++) {
k += tmp; tmp = max(tmp, x2[i+]);
}
tmp = x1[l];
for (int i = l; i > p; i--) {
t += tmp; tmp = max(tmp, x1[i-]);
} } else {
int tmp = x1[p];
for (int i = p; x1[i] <= R; i++) {
k += tmp; tmp = max(tmp, x1[i+]);
}
tmp = x2[r];
for (int i = r; i > q; i--) {
t += tmp; tmp = max(tmp, x2[i-]);
}
}
int ans = t > k ? t + k : * t;
return ans * + (p + q + ) * T * ;
}
} int main()
{
while (scanf("%d%d", &l, &r) == && l && r)
{
init();
printf("%d\n", solve());
}
return ;
}

最新文章

  1. Oracle---------sql 中取值两列中值最大的一列
  2. c语言一些知识点的记录
  3. SVN代码冲突解决方案小集合
  4. 奇葩问题:This file could not be checked in because the original version of the file on the server was moved or deleted. A new version of this file has been saved to the server, but your check-in comments were not saved
  5. 問題排查:建立選單時的錯誤 errcode:40016, errmsg:invalid button size hint: [RI68La0851vr18]
  6. xargs -n1 -t
  7. Android之ViewDragHelper
  8. shell 简介
  9. 评论一下现有几个开源IM框架(Msn/QQ/Fetion/Gtalk...)
  10. phpstorm IDE编辑器使用手记
  11. js LocalStorage
  12. Tomcat7调优及JVM性能优化for Linux环境
  13. eclipse myeclipse修改工作区间 an error has occurred. see error log for more details. java.lang.nullpointerexception 问题解决
  14. Python中星号的本质和使用方式
  15. 【sql注入教程】SQL注入是什么?我们如何去玩转它
  16. Codeforces | CF1029F 【Multicolored Markers】
  17. 安装arcgis10.5不能启动服务的解决方案
  18. Linux and Oracle常用目录详解
  19. iNotify.js通知JS 实现浏览器的 title 闪烁、滚动、声音提示、chrome、Firefox、Safari等系统通知。
  20. VMware12 克隆虚拟机并且重新分配ip、mac

热门文章

  1. xcrun: error: unable to find utility &quot;instruments&quot;, not a developer tool or in PATH
  2. 使用CSDN CODE来存放OPENSTACK位于GITHUB上的源代码
  3. Amr and Chemistry
  4. c++的检测的确比C++更严格
  5. 九度OJ 1198:a+b (大数运算)
  6. centos samba 服务器的配置和使用
  7. Python锁
  8. Linux备份和回复mysql数据库
  9. python cookbook第三版学习笔记十五:property和描述
  10. 记一次bash脚本报错原因