Special Trains

Problem Statement

A railroad running from west to east in Atcoder Kingdom is now complete.

There are NN stations on the railroad, numbered 11 through NN from west to east.

Tomorrow, the opening ceremony of the railroad will take place.

On this railroad, for each integer ii such that 1≤i≤N−11≤i≤N−1 , there will be trains that run from Station ii to Station i+1i+1 in CiCi seconds. No other trains will be operated.

The first train from Station ii to Station i+1i+1 will depart Station ii SiSi seconds after the ceremony begins. Thereafter, there will be a train that departs Station ii every FiFi seconds.

Here, it is guaranteed that FiFi divides SiSi .

That is, for each Time tt satisfying Si≤tSi≤t and t%Fi=0t%Fi=0 , there will be a train that departs Station ii tt seconds after the ceremony begins and arrives at Station i+1i+1 t+Cit+Ci seconds after the ceremony begins, where A%BA%B denotes AA modulo BB , and there will be no other trains.

For each ii , find the earliest possible time we can reach Station NN if we are at Station ii when the ceremony begins, ignoring the time needed to change trains.

Constraints

  • 1≤N≤5001≤N≤500
  • 1≤Ci≤1001≤Ci≤100
  • 1≤Si≤1051≤Si≤105
  • 1≤Fi≤101≤Fi≤10
  • Si%Fi=0Si%Fi=0
  • All input values are integers.

Input

Input is given from Standard Input in the following format:

NN


C1C1 S1S1 F1F1
::
CN−1CN−1 SN−1SN−1 FN−1FN−1

Output

Print NN lines. Assuming that we are at Station ii (1≤i≤N)(1≤i≤N) when the ceremony begins, if the earliest possible time we can reach Station NN is xx seconds after the ceremony begins, the ii -th line should contain xx .


Sample Input 1 Copy

Copy
3
6 5 1
1 10 1

Sample Output 1 Copy

Copy
12
11
0

We will travel from Station 11 as follows:

  • 55 seconds after the beginning: take the train to Station 22 .
  • 1111 seconds: arrive at Station 22 .
  • 1111 seconds: take the train to Station 33 .
  • 1212 seconds: arrive at Station 33 .

We will travel from Station 22 as follows:

  • 1010 seconds: take the train to Station 33 .
  • 1111 seconds: arrive at Station 33 .

Note that we should print 00 for Station 33 .


Sample Input 2 Copy

Copy
4
12 24 6
52 16 4
99 2 2

Sample Output 2 Copy

Copy
187
167
101
0

Sample Input 3 Copy

Copy
4
12 13 1
44 17 17
66 4096 64

Sample Output 3 Copy

Copy
4162
4162
4162
0

https://img.atcoder.jp/abc084/editorial.pdf

Fisrt,considering when it is possible to ride a train which goes to station j+1 ,in the situation that arriving station j ,t seconds after the ceremony begin.

・If t < Sj , Sj seconds after the ceremony begin.

・If t ≧ Sj ,but t % Fj = 0 , t seconds after the ceremony begin.

・Othersise, t + Fj −(t % Fj) seconds after the ceremony begin. Considering this,simulate in every case,it would be O(N2) and you can get 300 points.、

 #include <cstdio >
int N,C[],S[],F[];
int main()
{
scanf("%d",&N);
for(int i=; i<N-; i++)
scanf("%d%d%d",&C[i],&S[i],&F[i]);
for(int i=; i<N; i++)
{
int t=;
for(int j=i; j<N-; j++)
{
i
f(t<S[j])t=S[j];
else if(t%F[j]==);
else t=t+F[j]-t%F[j];
t+=C[j];
}
printf("%d\n",t);
}
}

AtCoder Beginner Contest 084 C - Special Trains的更多相关文章

  1. AtCoder Beginner Contest 084(AB)

    A - New Year 题目链接:https://abc084.contest.atcoder.jp/tasks/abc084_a Time limit : 2sec / Memory limit  ...

  2. AtCoder Beginner Contest 084 D - 2017-like Number【数论/素数/前缀和】

    D - 2017-like Number Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement W ...

  3. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  4. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  5. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  6. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  7. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  8. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  9. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

随机推荐

  1. 查看cpu性能和磁盘空间

    df -h查看当前磁盘空间 du -sh查看当前目录占用的磁盘空间 du -sh * 查看当前所有目录占用的磁盘空间   lscpu查看cpu信息 free查看空间总量

  2. 斐波那契字符串_KMP

    前言:通过这道题恶补了一下字符串匹配的知识 思路:首先就是求出菲波那切字符串,这个很简单,但是要注意递归超时的问题,可以考虑加上备忘录,或者用递推法,接下来就是匹配问题了,常规的BF会超时,所以要用K ...

  3. js图片碎片效果(移动端也适用)

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. JavaScript如何实现字符串拼接操作

    实际应用中,目标字符串的生成可能需要多个数据的拼接. 由于应用频繁,几乎是所有编程语言都必须掌握的操作,当然每种语言具有各自特点. 本文将通过代码实例详细介绍一下JavaScript如何实现字符串拼接 ...

  5. 学习线程池源码--ScheduledThreadPoolExecutor

    1. 创建ScheduledThreadPoolExecutor        ScheduledThreadPoolExecutor继承自ThreadPoolExecutor,实现了Schedule ...

  6. js对象类型判断工具

    对象类型判断工具 /** *类功能:对象类型判断工具 **/ var TypeUtil = { /** *方法说明:是否是数组 **/ isArray: function (obj) {//是否是数组 ...

  7. 2019.8.3 NOIP模拟测试12 反思总结【P3938 斐波那契,P3939 数颜色,P3940 分组】

    [题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不 ...

  8. Xcode8遇到的问题及解决方案!!!

    http://blog.csdn.net/jnbbwyth/article/details/52576169 http://www.cocoachina.com/ios/20161227/18451. ...

  9. day36 11-Hibernate中的事务:当前线程中的session

    如果你没有同一个session开启事务的话,那它两是一个独立的事务.必须是同一个session才有效.它给我们提供一个本地线程的session.这个session就保证了你是同一个session.其实 ...

  10. js实现使用递归来计算1~任意数字的和

    function getSum(n){ if(n==1){ return 1; } return n+getSum(n-1); } var res = getSum(100); console.log ...