Cod sursa(job #1356508)

Utilizator geo_furduifurdui geo geo_furdui Data 23 februarie 2015 14:20:20
Problema Secventa 2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include<stdio.h>
#include<climits>
using namespace std;
FILE *f,*g;
int v[50002];
int main()
{
    int i,k,n,s=0,smax=-INT_MAX,p=0,poz=1,p1,p2;
    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]);
    for(i=1;i<=n;i++)
    {
        s+=v[i];
        p++;
        if(s>smax && p>=k) {smax=s; p1=poz; p2=i;}
        if(s<0 && p>=k) {s=0; p=0; i=poz; poz++;}
        if(poz==n-k+2) break;
    }
    fprintf(g,"%d %d %d",p1,p2,smax);
    fclose(f);
    fclose(g);
    return 0;
}