Cod sursa(job #2119866)

Utilizator eduardandrei20Nechifor Eduard Andrei eduardandrei20 Data 1 februarie 2018 18:36:05
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <bits/stdc++.h>
std::ifstream in("secv2.in");
std::ofstream out("secv2.out");
using namespace std;
int n , k;
deque<int>d;
int main()
{   int a=1,b=k,x,sum=INT_MIN,actual=0;
int incp=1,sfp;
    in >> n>>k;
    for(int i =1 ; i<=n ;++i)
    {
        in >> x ;
        if(d.size()<k)
            {d.push_back(x);
            actual+=x;
            }
           else{
            if( (actual>0 and actual+x<0)  )
                 {d.clear();
                 incp=i;
             d.push_back(x);
             actual=x;
             //daca e cazul sa il scot tot
                 }
                 else
                 {
                     d.push_back(x);
                     actual+=x;
                     if(d.size()>k&&actual-d.front()>=actual) {actual-=d.front();
                            d.pop_front();
                            ++incp;
                                                        }
                 }
           }if(actual>=sum&&d.size()>=k)sum=actual,b=i,a=incp;
           //cout << actual << endl;
    }
out << a<<" "<<b<<" "<<sum ;



    return 0;
}