Cod sursa(job #1147859)

Utilizator mateidanutDanut Gabriel Matei mateidanut Data 20 martie 2014 10:52:54
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define NMAX 50003
using namespace std;

short a[NMAX];
int s[NMAX], i, j, n, k, l, r, sum, st, dr, smax;

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

int main()
{
    f>>n>>k;
    for (i=1; i<=n; ++i) {
        f>>a[i];
        s[i]=s[i-1]+a[i];
    }
    l=1;
    r=k;
    sum=s[k];
    st=1;
    dr=k;
    smax=sum;
    for (i=k+1; i<=n; ++i) {
        if (s[i]-s[i-k]>sum+a[i]) {
            l=i-k+1;
            r=i;
            sum=s[i]-s[i-k];
        }
        else {
            sum+=a[i];
            r=i;
        }
        if (sum>smax) {
            st=l;
            dr=r;
            smax=sum;
        }
    }
    g<<st<<' '<<dr<<' '<<smax;
    return 0;
}