Cod sursa(job #1073783)

Utilizator vrabievictorvictor vrabie vrabievictor Data 6 ianuarie 2014 20:12:04
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<iostream>
#include<fstream>
 
using namespace std;
 
ifstream fin("secv2.in");
ofstream fout("secv2.out");
  
int main()
{
    long t[50009],i,n,k,s,smax,ii,begin=0,end=0;
    fin>>n>>k; 
    for (i=1;i<=n;i++) fin>>t[i];
    if (n==k) {
    	fout<<1<<' '<<n;
    	k=0; 
    	for (i=1;i<=n;i++) k+=t[i];fout<<k;
    } else {
    
	smax=t[1];s=t[1];ii=1; begin=end=1;
    if (s<0) s=0; 
    for (i=2;i<=n;i++) 
    {
        s+=t[i];  
        if (s<0) {
            s=0;ii=i+1;;
        }
       if (smax<s && i-ii+1>=k) {
        smax=s;begin=ii;end=i;
       }
    }
    fout<<begin<<' '<<end<<' '<<smax;
           }
    fin.close();fout.close();
     
return 0;
 
}