Cod sursa(job #2433419)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 27 iunie 2019 12:49:38
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 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.f = i-k+1;
                ans.sum=cursum;

            }
        }

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

}