Cod sursa(job #1263951)

Utilizator deresurobertoFMI - Deresu Roberto deresuroberto Data 15 noiembrie 2014 12:33:19
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
//Roberto Deresu - FMI
//Re :)
#include<fstream>
#include<climits>
#define nx 50007
using namespace std;
int n,k,i,xi,xsol,ysol,s,sol,maxim,v[nx];

ifstream fin("secv2.in");
ofstream fout("secv2.out");

int main()
{
    fin>>n>>k;
    xi = 1;

    for(i=1;i<=n+1;i++)
    {
        fin>>v[i];

        if((s > sol || !sol) && i-xi>=k)
        {
            xsol = xi;
            ysol = i-1;
            sol = s;
        }

        if(s+v[i] >= 0) s += v[i];

        else
        {
            s = 0;
            xi = i+1;
        }
    }

    if(!xsol)
    {
        sol = INT_MIN;

        for(i=1;i<k;i++) s+= v[i];

        for(i=k;i<=n;i++)
        {
            s+=v[i];
            if(s > sol)
            {
                xsol = i-k+1;
                ysol = i;
                sol = s;
            }
            s -= v[i-k+1];
        }
    }

    fout<<xsol<<" "<<ysol<<" "<<sol;

	return 0;
}