Cod sursa(job #640062)

Utilizator sebe14Moraru Sebastian sebe14 Data 24 noiembrie 2011 18:07:47
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<iostream>
#include<fstream>
#include<limits.h>
using namespace std;

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

int n,smax=INT_MIN,st,end;

int main(){
	int i,j,sc=0,x,dif,smin=0,imin=0,k;
	in>>n>>k;
	for(i=1; i<=n; i++){
		in>>x;
		sc+=x;
		dif=sc-smin;
		if(dif>smax && i-imin>=k){
			smax=dif;
			st=imin+1;
			end=i;
		}
		else
			if(dif==smax && i-imin>=end-st+1){
				smax=dif;
				st=imin+1;
				end=i;
			}
		if(sc<smin){
			smin=sc;
			imin=i;
		}
	}
	out<<st<<" "<<end<<" "<<smax;
	return 0;
}