模拟乱搞

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

#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 ;
}

Uva10366的更多相关文章

  1. uva10366 Faucet Flow

    每次找到两边离中心最高的板,如果等,再找外围的最高版...画图便于理解两边先找到距离(-1,1)最近的最大值L和R,因为可能存在多个最高的挡板.接着比较两个L和R的大小,相等的话分别分析两边,取最小值 ...

随机推荐

  1. hive常规配置及常用命令使用

    hive 常用的几种shell交互方式 查看hive命令帮助:bin/hive -help [hd@hadoop-senior hive]$ bin/hive -help usage: hive -d ...

  2. js打开新窗口: window.open

    var iWidth = 800; var iHeight = 600; var iLeft = (window.screen.width - 10 - iWidth) / 2; //获得窗口的水平位 ...

  3. thinkphp5, 省略index.php

    Apache:1. httpd.conf配置文件中加载了mod_rewrite.so模块2. AllowOverride None 将None改为 All3. 把下面的内容保存为.htaccess文件 ...

  4. linux 10 -Bash Shell编程

    二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...

  5. zabbix监控入门初步

    1.Zabbix是什么? Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件.可以监视各种系统与设备的参数,保障服务器及设备的安全运营. 2.Zabbix的功能和特性 (1)安装与配置简 ...

  6. CentOS iSCSI服务器搭建------Initiator篇

    服务器信息: [root@initiator ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@initiator ~]# un ...

  7. mysql索引学习----2----创建索引、修改索引、删除索引的命令语句

    查看表中已经存在 index:show index from table_name; 创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER ...

  8. 改善程序与设计的55个具体做法 day9

    条款23:宁以non-member.non-friend替换member函数 即 以非成员函数 非友元函数 替换成员函数. 直观上,面向对象应该尽可能的封装,封装数据.封装操作等等,所以这个条款可能有 ...

  9. Hadoop2.x + eclipse 插件配置

    http://blog.csdn.net/u012874209/article/details/52105304 搭建集群那些就不用说了,主要有几个关键的地方需要注意(自己的Hadoop版本是2.5. ...

  10. Vue mixins extends extend components

    mixins 调用方式: mixins: [mixin1, mixin2] 是对父组件的扩充,包括methods.components.directive等... 触发钩子函数时,先调用mixins的 ...