Cod sursa(job #1962682)

Utilizator darian2001Clodnischi Darian Antonio darian2001 Data 11 aprilie 2017 23:06:31
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <bits/stdc++.h>

using namespace std;

ofstream g("secv2.out");

FILE* f;
int in_loc;
char in_buff[4096];

void read_init(const char* nume)
{
    f=fopen(nume,"r");
    in_loc=4095;
}
char read_ch()
{
    in_loc++;
    if(in_loc==4096){
        fread(in_buff,1,4096,f);
        in_loc=0;
    }
    return in_buff[in_loc];
}
int read_u32()
{
    int numar=0;
    char c;
    while(!isdigit(c=read_ch())&&c!='-');
    int sgn=1;
    if(c=='-')sgn=-1;
    else numar=c-'0';
    while(isdigit(c=read_ch()))
        numar=numar*10+c-'0';
    return numar*sgn;
}

int n,k,beg,fin,inc;
short elem;
long long suma=0,smax=-1250000001;

void citire()
{
    n=read_u32();
    k=read_u32();
    for(int i=1;i<=n;i++)
    {
        elem=read_u32();
        if(suma<0)
            suma=elem,inc=i;
        else suma+=elem;
        if(suma>smax&&i-inc+1>=k)
            smax=suma,beg=inc,fin=i;
    }
    g<<beg<<" "<<fin<<" "<<smax;
}

int main()
{
    read_init("secv2.in");
    fclose(f);
    g.close();
}