Pagini recente » Cod sursa (job #553375) | Cod sursa (job #1102263) | Cod sursa (job #2357712) | Cod sursa (job #200299) | Cod sursa (job #1456869)
#include <fstream>
#define NMAX 50001
using namespace std;
int numbers[NMAX];
int sums[NMAX];
int main()
{
int left, right;
int bestL, bestR, bestS;
int n, k;
ifstream f("secv2.in");
f >> n >> k;
for(right = 1; right <= k; right++)
{
f >> numbers[right];
sums[right] = sums[right - 1] + numbers[right];
}
left = 0;
bestL = left + 1; bestR = right - 1; bestS = sums[right - 1];
for(; right <= n; right++)
{
f >> numbers[right];
sums[right] = sums[right - 1] + numbers[right];
if(sums[right - k] < sums[left])
left = right - k;
if(sums[right] - sums[left] > bestS)
{
bestS = sums[right] - sums[left];
bestL = left + 1;
bestR = right;
}
}
f.close();
ofstream g("secv2.out");
g << bestL << " " << bestR << " " << bestS << "\n";
g.close();
return 0;
}