Tribonacci


Submit solution


Points:100 (partial)
Time limit:0.3s
JavaScript2.0s
Memory limit:32M
JavaScript32M
Author:

Tags
Loops
Difficulty
Easy

The Tribonacci sequence is a sequence in which every next element is made by the sum of the previous three elements from the sequence.

Write a computer program that finds the Nth element of the Tribonacci sequence, if you are given the first three elements of the sequence and the number N. Mathematically said: with given T1, T2 and T3 – you must find Tn.

Input

  • Read from the standard input

  • The values of the first three Tribonacci elements will be given on the first three input lines.

  • The number N will be on the fourth line. This is the number of the consecutive element of the sequence that must be found by your program.

  • The input data will always be valid and in the format described. There is no need to check it explicitly.

Output

  • Print to the standard output

  • At the only output line you must print the Nth element of the given Tribonacci sequence.

Constraints

  • The values of the first three elements of the sequence will be integers between -2 000 000 000 and 2 000 000 000.
  • The number N will be a positive integer between 1 and 15 000, inclusive.

  • Sample Tests

Input Output
1
1
1
4
3
2
3
4
10
335

Comments


  • 0
    tsanev96
     commented on May 21, 2018

    Някой може ли да ми каже как на c# минава последните два теста ? дава ми memory limit,решавам я с bigint,с long ми гърмят половината тестове..?


  • 0
    tsvetyana
     commented on April 6, 2018

    Благодаря за съвета. Всички тестове сега минаха.


    • 0
      stoychevamaria89
       commented on July 26, 2018

      А какъв е съветът за C#, че и аз нещо не мога да я реша? На последните тестове ми дава или WA, или IR.


      • 0
        ygabygabg
         commented on Aug. 10, 2018

        Здравей, ти използваш double а ти трябва BigInteger.


  • 0
    tsvetyana
     commented on April 6, 2018

    Здравейте! И аз получавам Time Limit Exceeded още на първия кейс. Ограничението в задачата е 0.3 s, което в милисекунди е 300. В IntelliJ при max input(Т1=Т2=Т3=2000 000 000 и n=15000) ми дава, че времето е 117 милисекунди и не разбирам, защо системата връща такъв отговор. Ако някой има идея къде бъркам, ще съм благодарна за отговора.


    • 0
      pepi_telerik
       commented on April 6, 2018

      Пускаш го на Java9, а там е доста по-бавно. Пусни го на Java


  • 0
    mihaeladimitrova60
     commented on March 1, 2018

    Time Limit Exceeded .. още на първия кейс


  • 0
    georgievgeorgi
     commented on March 1, 2018 edited

    Не виждам никой да е успял да я реши с Java! На мен ми излиза извън времето дори когато е с лонг /просто реших да видя колко бързо работи така/... Да няма някоя универсална формула за Н-ти член от редицата?


  • 1
    stoyanoff.martin
     commented on Feb. 18, 2018

    +1 за time limit-а.


  • 2
    markov.r
     commented on Feb. 1, 2018

    Продължавам да смятам че тайм лимита е малко за Java.


  • 0
    ygabygabg
     commented on Jan. 31, 2018

    Тоя шести кейс ми взе здравето докато го хвана защо гърми! То си пише че N почва от 1 ама не го проверявах :)


    • 0
      anthony.effimof
       commented on April 13, 2018

      И аз се мъча на 6-тия кейс. Как да го мина ?


      • 0
        zaqwsx
         commented on May 16, 2018 edited

        За тия които имат проблем с 6-тия случай: Input: a b c N

        if (N==1) -> Ouput = a; if (N==2) -> Output = b; if (N==3) -> Output = c; if (N==4) -> Output = a+b+c;


  • 1
    markov.r
     commented on Jan. 28, 2018

    На последните тест кейсове не се вмествам в 300-те мс, дали да не вдигнем лимита малко (за Java става въпрос)?