# PBinfo #2908 – planta – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Ghiță a primit de ziua lui o plantă exotică, ce se comportă foarte ciudat. El a măsurat-o când a primit-o  și a constatat că are D cm, apoi a văzut că se dezvoltă într-un ritm special:


În prima zi, planta crește cu A cm
În a doua zi, descrește cu B cm
În a treia zi, iar crește cu A cm
În a patra zi, descrește din nou cu B cm
etc.

Pe scurt, în zilele cu număr de ordine impar crește cu A cm, iar în cele cu număr de ordine par, descrește cu B cm. 

Cerința
Știind D, înalțimea inițiala a plantei și valorile A și B cu care aceasta crește, respectiv descrește, să se afla ce înălțime va avea planta lui Ghiță la finalul celei de-a N -a zile.

Date de intrare
Pe prima linie a fișierului planta.in se vor afla patru numere naturale D A B N în aceasta ordine, separate prin câte un spațiu, cu semnificațiile din enunț.

Date de ieșire
Pe prima linie a fișierului planta.out se va afla un număr H, semnificând înălțimea finală a plantei în cm la finalul celei de-a N -a zile.

Restricții și precizări

0 ≤ D ≤ 100
1 ≤ B ≤ A ≤ 1 000 000
1 ≤ N ≤ 1 000 000 000
Pentru 50% dintre teste, 1 ≤ N ≤ 1 000 000
Se garantează că pentru toate testele valorile se încadrează în tipul int.

Exemplul 1:
planta.in

4 5 2 3
planta.out

12
Explicație
Dupa prima zi: H = 4 + 5 = 9
Dupa a doua zi: H = 9 – 2 = 7
Dupa a treia zi: H = 7 + 5 = 12
Deci la finalul celei de-a 3-a zile, inaltimea plantei o sa fie 12 cm .

Exemplul 2:
planta.in

57 1000 1000 120
planta.out

57

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("planta.in");
ofstream out("planta.out");
int main() {
    int D, A, B, N;
    in >> D >> A >> B >> N;
    long long int rezultat = D;
    if (N % 2 == 0) rezultat = rezultat + N / 2 * (A - B);
    else rezultat = rezultat + N / 2 * (A - B) + A;
    out << rezultat;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2908)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2908/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2908/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
