Cod sursa(job #1161483)

Utilizator andytosaAndrei Tosa andytosa Data 31 martie 2014 11:39:30
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

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

int v[50010],s[50010],n,k,i,smin,smax,poz1,poz2;
int main()
{
    fin>>n>>k;
    for(i=0;i<n;i++)
        fin>>v[i];
    s[0]=v[0];
    smin=1250000000;
    smax=-1250000000;
    for(i=1;i<n;i++)
    {
        s[i]=s[i-1]+v[i];
        if(s[i]>smax&&i>=k)
        {
            smax=s[i];
            poz2=i;
        }
    }
    if(n==k)
    {
        fout<<1<<" "<<n<<" "<<s[n-1];
    }
    else
    {
        for(i=poz2-k;i>=0;i--)
        {
            if(s[i]<smin)
            {
                smin=s[i];
                poz1=i;
            }
        }
        fout<<poz1+2<<" "<<poz2+1<<" "<<s[poz2]-s[poz1];
    }
fin.close();
fout.close();
return 0;
}