Cod sursa(job #3310512)

Utilizator ViAlexVisan Alexandru ViAlex Data 14 septembrie 2025 14:50:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<cstdint>
using namespace std;

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

int main(){
	int n, x;
	in>>n;

	int sum = INT32_MIN;
	int m = INT32_MIN;

	int left;
	int best_left=1, best_right=1;

	for(int i =1;i<=n;i++){
		in>>x;	
		if (sum < 0) {
			sum = x;
			left = i;
		} else{
			sum += x;
		}

		if (sum > m) {
			m = sum;
			best_left = left;
			best_right = i;
		}
		m = max(m, sum);
	}
	out<<m<<" "<<best_left<<" "<<best_right;
	return 0;
}