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的大小,相等的话分别分析两边,取最小值 ...
随机推荐
- 贝塞尔曲线与CAShapeLayer的关系以及Stroke动画
1.贝塞尔曲线与CAShapeLayer的关系 1.1CAShapeLayer须要一个形状才干生效,贝塞尔曲线能够创建基于矢量的路径.进而能够给CAShapeLayer提供路径,路径会闭环. ...
- MFC添加菜单资源与菜单执行函数的两种命令形式
添加资源->新建一个菜单资源->选择相应的对话框 菜单的执行函数命令形式: COMMAD 是指点击菜单后的执行命令 UPDATE_COMMAND_UI 是指点击菜单后菜单状态的函数
- shell 字符串处理汇总(查找,替换等等)
字符串: 简称“串”.有限字符的序列.数据元素为字符的线性表,是一种数据的逻辑结构.在计算机中可有不同的存储结构.在串上可进行求子串.插入字符.删除字符.置换字符等运算. 字符: 计算机程序设计及操作 ...
- maven assembly 配置详解
Maven Assembly插件介绍 博客分类: 项目构建 你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembl ...
- spring boot数据库操作汇总
1 关于orm orm即object relational mapping,对象关系映射,即将数据库中的表映射成对象. 常用的orm有以下: mybatis spring jdbc template ...
- iOS9 3D Touch使用
http://www.cnblogs.com/zhanglinfeng/p/5133939.html
- TRansportation ANalysis and SIMulation System
https://www.fhwa.dot.gov/planning/tmip/transims/background.cfm?from=groupmessage
- IO密集型操作时,为什么线程比进程更好?
在IO密集型的操作时,进程线程都不会太占用CPU,但是进程消耗的资源比较多.
- PAT 1064. 朋友数(20)
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”.例如123和51就是朋友数,因为1+2+3 = 5+1 = 6,而6就是它们的朋友证号.给定一些整数,要求 ...
- 解决pod没有权限问题
chmod 644 路径 echo $? 检测上一条命令的执行结果,如果是0则执行成功