题目名称 1108. 关路灯
输入输出 power.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatar梦那边的美好ET 于2019-05-17加入
开放分组 全部用户
提交状态
分类标签
动态规划 回溯法 贪心
分享题解
通过:70, 提交:116, 通过率:60.34%
GravatarLGLJ 100 0.000 s 0.00 MiB C++
Gravatar皮皮123 100 0.000 s 0.00 MiB C++
GravatarShallowDream雨梨 100 0.000 s 0.00 MiB C++
GravatarHeSn 100 0.000 s 0.00 MiB C++
Gravatar烟雨 100 0.002 s 0.33 MiB C++
GravatarSkyo 100 0.003 s 2.96 MiB C++
Gravatar梦那边的美好ET 100 0.003 s 3.16 MiB C++
Gravatar梦那边的美好ET 100 0.003 s 3.18 MiB C++
Gravatar明天 100 0.003 s 7.81 MiB Pascal
GravatarMagic_Sheep 100 0.003 s 11.98 MiB C++
关于 关路灯 的近10条评论(全部评论)
这又是谁弄得,文件名都写错了,谁改的文件名?谁评测别人代码?
Gravatar梦那边的美好ET
2019-05-17 22:18 4楼
MM不哭第四次出现.....
GravatarHzoi_Go灬Fire
2016-09-01 14:57 3楼
开始内存莫名的爆内存,抄了大神代码交上以后才发现数据范围;
之后又莫名的超时、、QAQ
GravatarMagic_Sheep
2016-02-16 18:59 2楼
mark
GravatarHouJikan
2014-09-14 20:53 1楼

1108. 关路灯

★★☆   输入文件:power.in   输出文件:power.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老常就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。

为了给村里节省电费,老常记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老常不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去关灯。开始他以为先算一下左边路灯的总功率再算一下右边路灯的总功率,然后选择先关掉功率大的一边,再回过头来关掉另一边的路灯,而事实并非如此,因为在关的过程中适当地调头有可能会更省一些。

现在已知老常走的速度为1m/s,每个路灯的位置(是一个整数,即距路线起点的距离,单位:m)、功率(W),老常关灯所用的时间很短而可以忽略不计。

请你为老常编一程序来安排关灯的顺序,使从老常开始关灯时刻算起所有灯消耗电最少(灯关掉后便不再消耗电了)。

【输入格式】

文件第一行是两个数字n(n<=50,表示路灯的总数)和c(1<=c<=n老常所处位置的路灯号);

接下来n行,每行两个数据,表示第1盏到第n盏路灯的位置和功率。

【输出格式】

一个数据,即最少的功耗(单位:J1J1W·s)。

【样例输入】

5 3
2 10
3 20
5 20
6 30
8 10

【样例输出】

270

【样例解释】

此时关灯顺序为3 4 2 1 5,不必输出这个关灯顺序