Cod sursa(job #1362476)

Utilizator geo_furduifurdui geo geo_furdui Data 26 februarie 2015 12:52:35
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include<stdio.h>
#include<climits>
using namespace std;
FILE *f,*g;
int v[50002];
int main()
{
    int i,n,smax=-INT_MAX,p1,p2,mp,minim,k;
    f=fopen("secv2.in","r");
    g=fopen("secv2.out","w");
    fscanf(f,"%d %d",&n,&k);
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d",&v[i]);
        v[i]=v[i]+v[i-1];
    }
    minim=v[1];
    mp=1;
    for(i=k+1;i<=n;i++)
    {
        if(v[i]>smax) {smax=v[i]; p1=1; p2=i;}
        if(v[i]-minim>=smax) {smax=v[i]-minim; p1=mp+1; p2=i;}
        if(v[i-k]<minim) {minim=v[i-k]; mp=i-k;}
    }
    fprintf(g,"%d %d %d",p1,p2,smax);
    fclose(f);
    fclose(g);
    return 0;
}