Pagini recente » Istoria paginii runda/ojiliis | Cod sursa (job #2409966) | Cod sursa (job #274018) | Cod sursa (job #2372091) | Cod sursa (job #471196)
Cod sursa(job #471196)
// Secventa2.cpp : Defines the entry point for the console application.
//
//#include "stdafx.h"
#include "stdio.h"
FILE *f=fopen("secv2.in", "r");
FILE *g=fopen("secv2.out", "w");
int n, k, v[51000];
int a[51000];
int min[51000];
int mini[51000];
int minim(int x, int y)
{
if (x<y) return x;
return y;
}
void read()
{
min[0]=0;
mini[0]=1;
fscanf(f, "%d%d", &n, &k);
for (int i=1; i<=n; i++)
{
fscanf(f, "%d", &v[i]);
a[i]=a[i-1]+v[i];
min[i]=minim(min[i-1], a[i]);
if (min[i]==a[i])
mini[i]=i+1;
else mini[i]=mini[i-1];
}
min[0]=0;
mini[0]=1;
}
void program()
{
int max=-1250000000;
int st=0, fin=0;
for (int i=k; i<=n; i++)
{
if (a[i]-min[i-k]>max)
{
max=a[i]-min[i-k];
st=mini[i-k];
fin=i;
}
}
fprintf(g, "%d %d %d", st, fin, max);
}
int main()
{
read();
program();
fclose(f);
fclose(g);
return 0;
}