Uva10366
模拟乱搞
要说算法的话...乱搞算法?
#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的更多相关文章
- uva10366 Faucet Flow
每次找到两边离中心最高的板,如果等,再找外围的最高版...画图便于理解两边先找到距离(-1,1)最近的最大值L和R,因为可能存在多个最高的挡板.接着比较两个L和R的大小,相等的话分别分析两边,取最小值 ...
随机推荐
- git介绍和常用指令
Git介绍和常用指令 介绍:Git和SVN一样都是版本控制工具.不同的是Git是分布式的,SVN是集中式的.Git开始用可能感觉难点,等你用习惯了你就会觉得svn是有点恐怖.(如果一个项目有好多人一起 ...
- extendgcd模板
看了数论第一章,终于搞懂了扩展欧几里德,其实就是普通欧几里德的逆推过程. // ax+by = gcd(a,b) ->求解x,y 其中a,b不全为0,可以为负数// 复杂度:O(log2a)vo ...
- Jmeter 05 JMeter元件详解
1. JMeter 逻辑控制器 Switch条件控制器.While条件控制器.交替控制器.仅一次控制器.随机控制器.随机顺序控制器.条件控制器(如果(if)).循环控制器.录制控制器.ForEach控 ...
- 洛谷P1038 神经网络==codevs1088 神经网络
P1038 神经网络 题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神 ...
- springboot工程的结构
1 springboot的工程结构是什么 就是我们组织springboot工程时遵循的代码的目录结构. 2 spring initializr创建的工程的目录结构 源码目录:src/main/java ...
- python-安装 pip
https://pip.pypa.io/en/stable/installing/ wget https://bootstrap.pypa.io/get-pip.py python get-pip.p ...
- Java中的String,StringBuilder,StringBuffer三者的区别(转发:https://www.cnblogs.com/su-feng/p/6659064.html)
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- 关于matlab曲线拟合的问题
matlab 曲线拟合工具箱,app->curve fitting 可以使用generate直接产生代码,生成的是函数 该函数直接返回的结果为cfit格式,直接读取不了,网上有网友说可以采用y ...
- 第2条:遵循PEP8风格指南
<Python Enhancement Proposal #8>(8号Python增强提案)又叫PEP8,它是针对Python代码格式而编订的风格指南. 尽管可以在保证语法正确的前提下随意 ...
- jquery链式语法
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...