Cod sursa(job #1804879)

Utilizator PondorastiAlex Turcanu Pondorasti Data 13 noiembrie 2016 10:17:23
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[50005],s[50005];
int main()
{
    ifstream in("secv2.in");
    ofstream out("secv2.out");
    int n,Smax,Smaxim,Si,pmin=0,maxdr,maxst,minim,k;
    in>>n>>k;
    for(int i=1;i<=n;i++)
    {
        in>>v[i];
        s[i]=s[i-1]+v[i];}
    if(n==k) {
        out<<n<<" "<<k<<" "<<s[n];
        return 0;}
    Si=0;
    minim=Si;
    Smaxim=v[1];
    for(int i=1;i<=n;i++)
    {
        Si=Si+v[i];
        Smax=Si-minim;
        if(Smax>Smaxim && i+pmin>=k)
        {
            Smaxim=Smax;
            maxdr=i;
            maxst=pmin+1;
        }
        if(minim>Si)
        {
            minim=Si;
            pmin=i;
        }
    }
    out<<maxst<<" "<<maxdr<<" "<<Smaxim;
    return 0;
}