Problem I
Triolingo Push
Languages
en
sv
Trio från Triolingo vill påminna dig om att ta dina dagliga programmeringslektioner!
För att Trio ska se till att lektionen verkligen blir genomförd, skickar Trio flera notifikationer enligt följande ökande mönster:
Den första dagen skickar Trio $1$ notifikation. Den andra dagen skickar Trio $2$ notifikationer. Sedan för varje dag som går efter den andra dagen, skickar Trio antalet notifikationer dagen innan adderat med antalet notifikationer Trio skickade $2$ dagar innan, adderat med $1$ extra notifikation. Man kan även beskriva antalet notifikationer för en specifik dag med följande funktion:
\[ f(1)=1,f(2)=2,f(N)=f(N-1)+f(N-2)+1. \]För en specifik dag $N$, kommer Trio att skicka ut $f(N)$ notiser.
Hur många notifikationer skickar Trio vid dag nummer $N$? För att garantera att antalet notifikationer ska få plats på skärmen, skriv ut heltalet modulo $10^9+7$.
Indata
Indatan består av endast en rad med ett heltal, $N$, dagen som Trio skickar notifikationer.
Utdata
Skriv ett heltal - Antalet notifikationer som Trio skickar dag $N$ modulo $10^9+7$.
Poängsättning
Din lösning kommer att testas på ett antal testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Grupp |
Poängvärde |
Gränser |
$1$ |
$20$ |
$1 \leq N \leq 3$ |
$2$ |
$20$ |
$1 \leq N \leq 25$ |
$3$ |
$60$ |
$1 \leq N \leq 10^6$ |
$4$ |
$1$ |
$1 \leq N \leq 10^{18}$ |
Sample Input 1 | Sample Output 1 |
---|---|
1 |
1 |
Sample Input 2 | Sample Output 2 |
---|---|
4 |
7 |
Sample Input 3 | Sample Output 3 |
---|---|
5 |
12 |