# PBinfo #134 – secvk – Rezolvare C++

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

## Enunț

Se dă un șir cu n numere naturale și un număr k.

Cerinţa
Să se determine o secvență de elemente de lungime k cu suma elementelor maximă.

Date de intrare
Fişierul de intrare secvk.in conţine pe prima linie numerele n și k, iar pe a doua linie n numere naturale separate prin spaţii.

Date de ieşire
Fişierul de ieşire secvk.out va conţine pe prima linie k numere, reprezentând elementele secvenței cerute.

Restricţii şi precizări

1 ≤ k ≤ n ≤ 100.000
numerele de pe a doua linie a fişierului de intrare vor fi mai mici decât 1000
dacă există mai multe secvențe de lungime k cu suma maximă se va afișa prima

Exemplu:
secvk.in

8 3
5 6 1 2 6 6 4 3
secvk.out

6 6 4
Explicație
Sumele care se pot obține sunt: 12 9 9 14 16 13. Suma maximă este 16 și se obține pentru secvența 6 6 4

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("secvk.in");
ofstream out("secvk.out");
int n, K, v[100001];
int main() {
    in >> n >> K;
    for (int i = 1 ; i <= n; ++i)
        in >> v[i];
    int maxim = 0, dr = 0, S = 0;
    for (int i = 1; i < K; ++i)
        S = S + v[i];
    for (int i = K; i <= n; ++i) {
        S = S + v[i];
        S = S - v[i - K];
        if (S > maxim) {
            maxim = S;
            dr = i;
        }
    } for (int i = dr - K + 1; i <= dr; ++i)
        out << v[i] << " ";
    return 0;
}
```

## Resurse

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