Cod sursa(job #2433414)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 27 iunie 2019 12:24:26
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <bits/stdc++.h>
#define inf 1<<30

using namespace std;

/*
ifstream f("../dt.in");
ofstream g("../dt.out");
*/

ifstream f("secv2.in");
ofstream g("secv2.out");

int sum[50009];
int v[50009];
int n,k;


struct
{
    int sum,f,u;
}ans;

int main()
{

    f>>n>>k;
    ans.f=1;
    ans.u=k;
    for (int i=1;i<=n;i++)
    {
        int x;
        f>>x;
        v[i]=x;
        sum[i]=x+sum[i-1];
    }
    int cursum=ans.sum=sum[k];


    for (int i=k+1 ;i<= n ;i++)
    {
        if (cursum+v[i] >= sum[i]-sum[i-k])
        {
            cursum+=v[i];
            if (cursum>ans.sum)
            {
                ans.u=i;
                ans.sum=cursum;

            }
        }
        else
        {

            cursum = sum[i] - sum[i - k];
            if (cursum > ans.sum)
            {
                ans.u = i;
                ans.sum=cursum;
                ans.f = i - k+1;
            }
        }


    }
   g<<ans.f<<" "<<ans.u<<" "<<ans.sum;

}