View as PDF

Submit solution

Points: 7 (partial)
Time limit: 1.0s
Memory limit: 64M

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

These problems are from the atcoder DP contest, and were transferred onto DMOJ. All problem statements were made by several atcoder users. As there is no access to the test data, all data is randomly generated. If there are issues with the statement or data, please contact Rimuru or Ninjaclasher on slack.

Taro's summer vacation starts tomorrow, and he has decided to make plans for it now.

The vacation consists of N days. For each i\ (1 \le i \le N), Taro will choose one of the following activities and do it on the i-th day:

  • A: Swim in the sea. Gain a_i points of happiness.
  • B: Catch bugs in the mountains. Gain b_i points of happiness.
  • C: Do homework at home. Gain c_i points of happiness.

As Taro gets bored easily, he cannot do the same activities for two or more consecutive days.

Find the maximum possible total points of happiness that Taro gains.


  • All values in input are integers.
  • 1 \le N \le 10^5
  • 1 \le a_i, b_i, c_i \le 10^4

Input Specification

The first line will contain the integer N.

The next N lines will each contain 3 space separated integers, a_i, b_i, c_i.

Output Specification

Print the maximum possible total points of happiness that Taro gains.

Sample Input 1

10 40 70
20 50 80
30 60 90

Sample Output 1


Explanation For Sample 1

If Taro does activities in the order C, B, C, he will gain 70 + 50 + 90 = 210 points of happiness.

Sample Input 2

100 10 1

Sample Output 2


Sample Input 3

6 7 8
8 8 3
2 5 2
7 8 6
4 6 8
2 3 4
7 5 1

Sample Output 3


Explanation For Sample 3

Taro should do activities in the order C, A, B, A, C, B, A.


  • -3
    alihu264  commented on April 26, 2020, 2:03 a.m.

    does N^3 pass?

    • 3
      boolean  commented on April 26, 2020, 11:48 a.m.

      No, it certainly will not pass. N^15 operations (i.e triple nested loops to try all combinations) will not run in 1 second. Try a DP approach.

      • 2
        alihu264  commented on April 26, 2020, 8:26 p.m.

        I thought my algorithm was N^3, my bad that was an oversight

  • 0
    Maillew  commented on March 5, 2020, 6:26 p.m.

    Can the happiness Taro gains from an activity be equal to another activity on the same day? i.e. ai = bi

    • 6
      Hubie  commented on March 5, 2020, 10:30 p.m.

      Yes, and you can see that in the third sample input