Cod sursa(job #1074785)

Utilizator ilenitudorIleni Tudor ilenitudor Data 7 ianuarie 2014 22:51:40
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
using namespace std;

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

int s[50001];
int n,maxx = -26000,k,L,l;

int main()
{
    int x;
    fin>>n>>k;
    fin>>x;
    s[1] = x;

    for(int i=2 ; i<=n ; i++)
    {
        fin>>x;
        if(s[i-1] + x > x )
        {
            s[i] = s[i-1]+x;
            if(s[i] > maxx)
            {
                L=i,maxx=s[i];
                int j=i-1;
                while(s[j]>=0 && j>0)j--;
                j+=1;
                int k2 = L-j-1;
                if(k2>=k)
                l=j;

            }

        }
        else
        {
            s[i] = x;
             if(s[i] > maxx)
            {
                L=i,maxx=s[i];
                int j=i-1;
                while(s[j]>=0 && j>0)j--;
                j+=1;
                int k2 = L-j-1;
                if(k2>=k)
                l=j;

            }
        }
    }

    fout<<l<<" "<<L<<" "<<maxx;
    fin.close();
    fout.close();
    return 0;
}