Cod sursa(job #1142135)

Utilizator andreeadeacAndreea Ioana Deac andreeadeac Data 13 martie 2014 15:45:17
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

int n,k,v[50001],s[50001];
struct {int beg, end;}a[50001];

int main()
{
    f>>n>>k;
    int j,smax=-1250000000,i;
    s[0]=0;
    for(i=1;i<=k;i++){
        f>>v[i];
        s[i]=s[i-1]+v[i];
    }
    a[k].beg=1;
    a[k].end=k;
    for(i=k+1;i<=n;i++){
        f>>v[i];
        if(s[i-1]+v[i]<s[i-1]+v[i]-v[i-k]){
            a[i].beg=i-k+1;
            a[i].end=i;
            s[i]=s[i-1]+v[i]-v[i-k];
        }
        else{
            a[i].beg=a[i-1].beg;
            a[i].end=i;
            s[i]=s[i-1]+v[i];
        }
            /*if(suma ultimilor k...){
            s=0;
            ind=i;
        }
        s+=x;
        if(s>smax && i-ind+1>=k){
            smax=s;
            beg=ind;
            end=i;
        }
        */
    }
    for(i=k;i<=n;i++)
        if(s[i]>smax){
            j=i;
            smax=s[i];
        }
    g<<a[j].beg<<" "<<a[j].end<<" "<<s[j]<<"\n";
    return 0;
}