Cod sursa(job #2258789)
| Utilizator | Data | 12 octombrie 2018 09:11:57 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
int main()
{
int n, k, maxim = 0;
in >> n >> k;
vector<int> v(n + 1), sum(n + 1);
sum[0] = -25005;
for (int i = 1; i <= n; i++)
{
in >> v[i];
sum[i] = sum[i - 1] + v[i];
if(sum[i] > sum[maxim] && i >= k)
maxim = i;
}
int poz = maxim - k;
for (int i = maxim - k - 1; i >= 0; i--)
if (sum[i] < sum[poz])
poz = i;
out << poz + 1 << ' ' << maxim << ' ' << sum[maxim] - sum[poz];
return 0;
}
