Cod sursa(job #2662347)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 23 octombrie 2020 22:05:06
Problema Subsecventa de suma maxima Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>

using namespace std;

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

int best=INT_MIN,a[1005]; //reprezinta subsecventa maxima ce se termina in pozitia i
int main()
{
	int n;
	in>>n;
	for(int i=1;i<=n;i++)
		in>>a[i];

	int sum=0,beggining,end,id;
	for(int i=1;i<=n;i++)
	{
		if(sum<0) 
		{
			id=i;
			sum=a[i];
		}
		else
			sum+=a[i];
		if(best<sum)
		{
			best=sum;
			beggining=id;
			end=i;
		}
	}
	out<<best<<" "<<beggining<<" "<<end;
	return 0;
}