Cod sursa(job #3342343)

Utilizator risxdrzBanica Albert risxdrz Data 23 februarie 2026 20:08:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define cin fin
#define cout fout
int main(){
	int n;
	int currentsum=INT_MAX*-1,bestsum=INT_MAX*-1,bl=0,br=0,starti=0;
	vector<int> a;
	cin>>n;
	for(int i=0;i<n;i++){
		int x;cin>>x;a.push_back(x);
	}
	for(int i=0;i<n;i++){
		if(currentsum+a[i] < a[i]){
			starti=i;
			currentsum=a[i];
		}
		else{
			currentsum+=a[i];
		}
		if(currentsum>bestsum){
			bl=starti;
			br=i;
			bestsum=currentsum;
		}
	}
	cout<<bestsum<<' '<<bl+1<<' '<<br+1;
}