Pagini recente » Cod sursa (job #1703593) | Cod sursa (job #2876020) | Cod sursa (job #18391) | Cod sursa (job #802770) | Cod sursa (job #114271)
Cod sursa(job #114271)
#include <iostream>
#include <fstream>
using namespace std;
int N(0),
K(0);
int a[50000];
long rs[50000];
long rd[50000];
int main(int argc, char *argv[]) {
ifstream fin("secv2.in");
fin >> N >> K;
for (int i(0); i < N; ++i)
fin >> a[i];
fin.close();
rs[0] = a[0];
for (int i(1); i < N; ++i)
rs[i] = rs[i - 1] + a[i];
int maxd(-666);
for (int i = K - 1; i < N; ++i)
if ((maxd == -666) || (rs[maxd] < rs[i]))
maxd = i;
rd[maxd] = a[maxd];
for (int i = maxd - 1; i >= 0; --i)
rd[i] = rd[i + 1] + a[i];
int maxs(-666);
for (int i = maxd - K + 1; i >= 0; --i)
if ((maxs == -666) || (rd[maxs] < rd[i]))
maxs = i;
ofstream fout("secv2.out");
fout << maxs + 1 << " " << maxd + 1 << " " << rd[maxs] << endl;
fout.close();
return 0;
}