Cod sursa(job #1575233)
Utilizator | Data | 21 ianuarie 2016 11:38:21 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <stdio.h>
#include <climits>
using namespace std;
FILE *f,*g;
int v[50002];
int main ()
{
f=fopen("secv2.in","r");
g=fopen("secv2.out","w");
int n,k,minim,max,i,poz,in,sf;
fscanf(f,"%d %d",&n,&k);
for (i=1; i<=n; i++)
{
fscanf(f,"%d",&v[i]);
v[i]+=v[i-1];
}
minim=v[1];
max=INT_MIN;
for (i=k; i<=n; i++)
{
if (minim>v[i-k])
{
minim=v[i-k];
poz=i-k+1;
}
if (v[i]-minim>max)
{
max=v[i]-minim;
in=poz;
sf=i;
}
}
fprintf(g,"%d %d %d",in,sf,max);
fclose(f);
fclose(g);
return 0;
}