Cod sursa(job #1810840)

Utilizator razvandraghiciDraghici Razvan razvandraghici Data 20 noiembrie 2016 16:59:11
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>

using namespace std;

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

long long soli, solf, i, j, s, maxim=-2000000000, pozi, pozf, nr, k, n, v[50010], st, dr;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++){
        fin>>v[i];
        s+=v[i];
        if(i==k){
            maxim=s;
            soli=1;
            solf=k;
        }
        if(i>k){
            s=s-v[i-k];
            if(s>maxim){
                maxim=s;
                soli=i-k+1;
                solf=i;
            }
        }
    }
    s=v[1];
    nr=1;
    pozi=1;
    pozf=1;
    for(i=2;i<=n;i++){
        if(s+v[i]>v[i]){
            s+=v[i];
            nr++;
            pozf++;
            if(nr>=k && s>maxim){
                maxim=s;
                soli=pozi;
                solf=pozf;
            }
        }
        else{
            pozi=i;
            pozf=i;
            nr=1;
            s=v[i];
        }
    }
    fout<<soli<<" "<<solf<<" "<<maxim;
    return 0;
}