Cod sursa(job #3311426)

Utilizator tudorvoieVoie Tudor tudorvoie Data 22 septembrie 2025 10:34:05
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;

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

int v[6000011], s[6000011];
int main() {
	int n;
	fin >> n;
	for(int i = 1; i <= n; i++) {
		fin >> v[i];
	}
	
	s[1] = v[1];
	int d = 1, dmaxx = INT_MIN, ind, maxx = INT_MIN;
	for(int i = 2; i <= n; i++) {
		if(s[i - 1] + v[i] > v[i]) {
			s[i] = s[i - 1] + v[i];
			d = d + 1;
			if(s[i] > maxx) {
				maxx = s[i];
				dmaxx = d;
				ind = i;
			}
		} else {
			s[i] = v[i];
			d = 1;
		}
	}
	
	
	fout << maxx << " " << ind - dmaxx + 1 << " " << ind;
}