CF730D.Running Over The Bridges

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Polycarp is playing a game called "Running Over The Bridges". In this game he has to run over nn bridges from the left to the right. Bridges are arranged one after the other, so the ii -th bridge begins where the (i1)(i-1) -th bridge ends.

You have the following data about bridges: lil_{i} and tit_{i} — the length of the ii -th bridge and the maximum allowed time which Polycarp can spend running over the ii -th bridge. Thus, if Polycarp is in the beginning of the bridge ii at the time TT then he has to leave it at the time T+tiT+t_{i} or earlier. It is allowed to reach the right end of a bridge exactly at the time T+tiT+t_{i} .

Polycarp can run from the left side to the right one with speed 0.50.5 , so he will run over a bridge with length ss in time 2s2·s . Besides, he has several magical drinks. If he uses one drink, his speed increases twice (i.e. to value 1) for rr seconds. All magical drinks are identical. Please note that Polycarp can use a drink only at integer moments of time, and he drinks it instantly and completely. Additionally, if Polycarp uses a drink at the moment TT he can use the next drink not earlier than at the moment T+rT+r .

What is the minimal number of drinks Polycarp has to use to run over all nn bridges? If this number is not greater than 10510^{5} , then you have to find out the moments of time when Polycarp has to use each magical drink.

输入格式

The first line contains two integers nn and rr ( 1<=n<=21051<=n<=2·10^{5} , 1<=r<=10121<=r<=10^{12} ) — the number of bridges and the duration of the effect of a magical drink.

The second line contains a sequence of integers l1,l2,...,lnl_{1},l_{2},...,l_{n} ( 1<=li<=51061<=l_{i}<=5·10^{6} ), where lil_{i} is equal to the length of the ii -th bridge.

The third line contains a sequence of integers t1,t2,...,tnt_{1},t_{2},...,t_{n} ( 1<=ti<=1071<=t_{i}<=10^{7} ), where tit_{i} is equal to the maximum allowed time which Polycarp can spend running over the ii -th bridge.

输出格式

The first line of the output should contain kk — the minimal number of drinks which Polycarp has to use, or -1 if there is no solution.

If the solution exists and the value of kk is not greater than 10510^{5} then output kk integers on the next line — moments of time from beginning of the game when Polycarp has to use drinks. Print the moments of time in chronological order. If there are several solutions, you can output any of them.

输入输出样例

  • 输入#1

    1 3
    7
    10
    

    输出#1

    2
    0 3
    
  • 输入#2

    3 3
    3 3 3
    3 3 2
    

    输出#2

    -1
    
  • 输入#3

    3 100000
    5 5 5
    5 7 8
    

    输出#3

    1
    0 
    
  • 输入#4

    4 1000
    1 2 3 4
    10 9 10 9
    

    输出#4

    0
    
    

说明/提示

In the first case, there is only one bridge and it is clear that Polycarp cannot run over it without magical drinks. So, if he will use one magical drink on start (moment of time 00 ), and the second one — three seconds later (moment of time 33 ), he will be able to reach the end of the bridge in time. Please note, in this case there are several possible answers to the problem. For example, Polycarp can use the first drink at the moment of time 44 and the second one — at the moment of time 77 .

In the second case, Polycarp cannot run over all bridges even if he will use magical drinks. So, answer in this case is -1.

In the fourth case, Polycarp can run over all bridges without magical drinks.

首页