BJTUOJ 1853 gangpener买零食(水~)
Description
gangpenergangpenergangpener非常宠爱他的妹妹。
今天妹妹让gangpenergangpenergangpener去零食大厦买零食,零食大厦高nnn层,除了第一层外,每层各有一种妹妹想吃的零食。
零食大厦每层有m" role="presentation" style="position: relative;">mmm个摊位,分别在位置111,位置2" role="presentation" style="position: relative;">222,…,位置mmm。
每个相邻的摊位距离为1" role="presentation" style="position: relative;">111。
每层只有位置111和位置m" role="presentation" style="position: relative;">mmm能上下楼。
据gangpenergangpenergangpener调查,第i(i≥2)i(i≥2)i(i\ge 2)层的零食在第iii层的ai" role="presentation" style="position: relative;">aiaia_i位置。
现在gangpenergangpenergangpener在第111层的1" role="presentation" style="position: relative;">111位置,需要买完所有零食后回到第111层的1" role="presentation" style="position: relative;">111位置。
gangpenergangpenergangpener想尽快买完所有零食送给妹妹,
如何规划购买路线可以让gangpenergangpenergangpener走的路最少呢?(不计上下楼路程)
Input
第一行为两个整数n,m(2≤n≤100,2≤m≤100)n,m(2≤n≤100,2≤m≤100)n,m(2\le n\le 100,2\le m\le 100)。
第二行为n−1n−1n−1个整数a2,a3,⋯,an(1≤ai≤m)a2,a3,⋯,an(1≤ai≤m)a_2,a_3,⋯,a_n(1\le a_i\le m),每个数字用空格分隔。
Output
输出一个整数,代表gangpenergangpenergangpener需要走的最短路程。
Sample Input
3 10
10 9
Sample Output
18
Solution
在第iii层买完东西后,只能从两个出口选一个上到第i+1" role="presentation" style="position: relative;">i+1i+1i+1层,故从(i,ai)(i,ai)(i,a_i)到(i+1,ai+1)(i+1,ai+1)(i+1,a_{i+1})的花费应该是min(ai−1+ai+1−1,m−ai+m−ai+1)min(ai−1+ai+1−1,m−ai+m−ai+1)min(a_i-1+a_{i+1}-1,m-a_i+m-a_{i+1}),累加即为答案,注意还要加上从(n,an)(n,an)(n,a_n)到(1,1)(1,1)(1,1)的花费
Code
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
const int INF=0x3f3f3f3f,maxn=105;
int n,m,a[maxn];
int main()
{while(~scanf("%d%d",&n,&m)){a[1]=a[n+1]=1;for(int i=2;i<=n;i++)scanf("%d",&a[i]);int ans=0;for(int i=2;i<=n+1;i++)ans+=min(a[i-1]-1+a[i]-1,m-a[i-1]+m-a[i]);printf("%d\n",ans);}return 0;
}
BJTUOJ 1853 gangpener买零食(水~)相关推荐
- BJTU1853 gangpener 买零食
BJTU1853 gangpener 买零食 题目: gangpener 非常宠爱他的妹妹. 今天妹妹让 gangpener 去零食大厦买零食,零食大厦高
- [Offer收割]编程练习赛2 hihocoder 1272 买零食 (DFS 或 dp 水题)
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...
- hihoCoder 1272 买零食
#1272 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰 ...
- hihocoder #1272 : 买零食
描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个 ...
- 关于小学和哥哥买零食的琐碎回忆
人越长大,总会去回忆小时候的事情,我就是这样一个喜欢不断后悔.遗憾.回忆.怀念的人 对于零食,我和哥哥可谓是爱之入骨.也许是因为爸爸也是个吃货,所以我们几个小孩都特别喜欢吃零食,现在也不例外. 如今能 ...
- hihoCoder 买零食
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...
- hihocoder买零食
买零食 Time Limit:5000MS Memory Limit:262144KB 64bit IO Format:%lld & %llu Submit Status Pr ...
- [hihoCoder] 买零食
http://hihocoder.com/contest/hiho139/problem/1?sid=992251 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一 ...
- 买零食 HihoCoder - 1272
小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个&qu ...
最新文章
- 范式变革与规律涌现:世界科技发展新趋势
- project02 U盘系统与排错系统
- adb 测试工作中的总结
- 屏幕坐标系和视口坐标系
- 一站式服务!图片+代码-构建移动版旅游网站页面
- 三心二意,助你好运?
- apache mesos_试用Apache Mesos HTTP API获得乐趣和收益
- c++ 添加按钮_使用 Visual Studio 2019 批量添加代码文件头
- 用python打印九九乘法表while_利用Python循环(包括whilefor)各种打印九九乘法表的实例...
- 利用css制作3d图片旋转_练习
- Navicat Premium 注册机 激活报错
- rs429-HI3282-HI3182笔记
- 谷歌浏览器使用复制的功能
- [CTF]QWE加密
- java生成短网址_http 长网址、短网址(短网址生成API)
- jenkins插件安装失败更改插件源
- iOS关于APP唤醒和在后台做的事
- java工程师找工作建议
- openwrt 格式化_OPENWRT路由固件入门食用教程S2:磁盘挂载及分区,网络共享,脱机下载。...
- 二阶常微分方程的数值解法(中心差分法和有限体积法)
热门文章
- 通信工程与计算机考研学校排名,通信工程专业考研学校排名
- HAL+Cube MX 学习之PWM
- 卖家注意!淘宝“七天无理由退货”规则将升级
- 易失性存储DRAM详解
- 命令行给Linux安装中文,Linux下命令行安装TeamViewer
- McObject新版eXtremeDB v.8.0在E8存储上运行STAC基准测试创造了多个记录
- 97年的欧冠决赛 多特蒙德VS尤文 中里德尔的梦
- SQL Server数据库参考书籍 完成总结
- 基于FPGA的IIC读取LM74A温度值
- 编辑器漏洞 EWebedtitor FCKeditor spaw editor