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买零食(水~)相关推荐

  1. BJTU1853 gangpener 买零食

    BJTU1853 gangpener 买零食 题目: gangpener 非常宠爱他的妹妹. 今天妹妹让 gangpener 去零食大厦买零食,零食大厦高

  2. [Offer收割]编程练习赛2 hihocoder 1272 买零食 (DFS 或 dp 水题)

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...

  3. hihoCoder 1272 买零食

    #1272 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰 ...

  4. hihocoder #1272 : 买零食

    描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个 ...

  5. 关于小学和哥哥买零食的琐碎回忆

    人越长大,总会去回忆小时候的事情,我就是这样一个喜欢不断后悔.遗憾.回忆.怀念的人 对于零食,我和哥哥可谓是爱之入骨.也许是因为爸爸也是个吃货,所以我们几个小孩都特别喜欢吃零食,现在也不例外. 如今能 ...

  6. hihoCoder 买零食

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...

  7. hihocoder买零食

    买零食 Time Limit:5000MS     Memory Limit:262144KB     64bit IO Format:%lld & %llu Submit Status Pr ...

  8. [hihoCoder] 买零食

    http://hihocoder.com/contest/hiho139/problem/1?sid=992251 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一 ...

  9. 买零食 HihoCoder - 1272

    小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个&qu ...

最新文章

  1. 范式变革与规律涌现:世界科技发展新趋势
  2. project02 U盘系统与排错系统
  3. adb 测试工作中的总结
  4. 屏幕坐标系和视口坐标系
  5. 一站式服务!图片+代码-构建移动版旅游网站页面
  6. 三心二意,助你好运?
  7. apache mesos_试用Apache Mesos HTTP API获得乐趣和收益
  8. c++ 添加按钮_使用 Visual Studio 2019 批量添加代码文件头
  9. 用python打印九九乘法表while_利用Python循环(包括whilefor)各种打印九九乘法表的实例...
  10. 利用css制作3d图片旋转_练习
  11. Navicat Premium 注册机 激活报错
  12. rs429-HI3282-HI3182笔记
  13. 谷歌浏览器使用复制的功能
  14. [CTF]QWE加密
  15. java生成短网址_http 长网址、短网址(短网址生成API)
  16. jenkins插件安装失败更改插件源
  17. iOS关于APP唤醒和在后台做的事
  18. java工程师找工作建议
  19. openwrt 格式化_OPENWRT路由固件入门食用教程S2:磁盘挂载及分区,网络共享,脱机下载。...
  20. 二阶常微分方程的数值解法(中心差分法和有限体积法)

热门文章

  1. 通信工程与计算机考研学校排名,通信工程专业考研学校排名
  2. HAL+Cube MX 学习之PWM
  3. 卖家注意!淘宝“七天无理由退货”规则将升级
  4. 易失性存储DRAM详解
  5. 命令行给Linux安装中文,Linux下命令行安装TeamViewer
  6. McObject新版eXtremeDB v.8.0在E8存储上运行STAC基准测试创造了多个记录
  7. 97年的欧冠决赛 多特蒙德VS尤文 中里德尔的梦
  8. SQL Server数据库参考书籍 完成总结
  9. 基于FPGA的IIC读取LM74A温度值
  10. 编辑器漏洞 EWebedtitor FCKeditor spaw editor