Cod sursa(job #556663)

Utilizator david_raucaRauca Ioan David david_rauca Data 16 martie 2011 11:30:03
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<fstream>
using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

#define INF 1000000000000000000LL

long long n, k, smax, s, i1, j1, iaux, suma;
int a[50001];

int main()
{
    fin >> n >> k;
    smax = -INF;
    s = INF;
    for( int i = 1; i <= n; ++i )
    {
         fin >> a[i];
         a[i] += a[i-1];
    }
    if( k == n )
    {
        smax = a[n];
        i1 = 1;
        j1 = n;
    }
    else
        for( int i = 1; i <= n; ++i )
        {
             if( s > a[i-1] )
             {
                 s = a[i-1];
                 iaux = i;
             }
             
             suma = a[i] - s;
             
             if( suma > smax && i - iaux >= k)
             {
                 smax = suma;
                 i1 = iaux;
                 j1 = i;
             }
             
        }
        
    fout << i1 << ' ' << j1 << ' ' << smax;
    
    fin.close();
    fout.close();
    
    return 0;
}