题目名称 2152. [COCI 2016] POPLAVA
输入输出 poplava.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 64 MiB
测试数据 10
题目来源 Gravatarraywzy 于2016-02-04加入
开放分组 全部用户
提交状态
分类标签
COCI
分享题解
通过:1, 提交:1, 通过率:100%
Gravatarraywzy 100 0.338 s 1.25 MiB C++
关于 POPLAVA 的近10条评论(全部评论)
spj?
Gravatarrewine
2017-07-20 16:54 1楼

2152. [COCI 2016] POPLAVA

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

【题目描述】


Mirko昨晚做梦梦到了一个有N列的条形图,每一列都是1米宽,列的高度分别为h1,h2,...

hN.单位当然是米辣。


我们定义一个条形图的容量是这个条形图可以容纳的最多水的量。当然了,在重力的影响下必须保持平稳

。右侧的图片即是一个稳定的状态。


定义每列水的高度为v1,v2,v3,...,vN.让水保持稳定,需要满足下面3个条件:


1.hi+vi <= h(i-1)+v(i-1),对于所有i>=2的.

2.hi+vi <= h(i+1)+v(i+1),对于所有i<=N-1的.

3.v1 = 0且vN = 0.


当Mirko睡醒的时候,他想知道他是否可以用集合{1,2,3...N}的一个排列去构成一个条形图,使得这个条形图的容量等于幸运

数字X。帮帮Mirko找到满足条件的一组解吧



【输入格式】

一行两个数N和X。(1<=N<=1000000,1<=X<=10^15).

【输出格式】



无解输出-1,否则输出N个高度 h1,h2,...,hN.如果有多解,输出任意一组。



【样例输入】

3 1

【样例输出】

3 1 2

【提示】

在这组样例中,v1=0,v2=1,v3=0.

【来源】

2016 COCI#5  译者:Raywzy (有问题cogs群里圈我