Cod sursa(job #1878218)

Utilizator adriashkin.07alehandru69 adriashkin.07 Data 13 februarie 2017 22:36:24
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<bits/stdc++.h>
 
using namespace std;

#define ull unsigned long long
#define ll  long long
int p;
ull n,beg,en,i;
ll x,s,s1,s2;
ifstream in("ssm.in");
ofstream out("ssm.out");

int main()
{
	in>>n;
	in>>x;
	s=s1=x;
	beg=1; en=1;
	for(i=2;i<=n;i++)
	  {
	  	in>>x;
	  	if(x)
		 { 
	  	s2=s1+x;
	  	s=max(max(s,s2),x);
	  	if(s==s2) en=i;
	  	if(s==x&&!p){beg=i;en=i;}
	  	if(s==x&&p){en=i;p=0;}
		s1=max(x,s2);
	    }
	    else if(x>s){beg=i;p=1;}
	  }
	out<<s<<" "<<beg<<" "<<en;
	return 0;
}