Cod sursa(job #1768685)

Utilizator GoogalAbabei Daniel Googal Data 1 octombrie 2016 12:26:49
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#define int_min 214783600

using namespace std;

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

int n,k,x,i,pc=1,sc,umax,pmax,smax=-int_min,sn;

int main()
{
    fin>>n>>k;
    if(n==1)
    {
        fin>>x;
        if(k<1)
            fout<<"0 0 0";
        else
            fout<<x<<" 1 1";
    }
    else
    {
        for(i=1; i<=n; i++)
        {
            fin>>x;sn+=x;
            if(sc<0)
            {
                sc=0;
                pc=i;
            }
            sc+=x;
            if(sc>smax && i-pc+1>=k)
            {
                smax=sc;
                pmax=pc;
                umax=i;
            }
        }
        if(smax==-int_min)
        fout<<sn<<' '<<1<<' '<<n;
        else
        fout<<pmax<<' '<<umax<<' '<<smax;
    }
    return 0;
}