Cod sursa(job #2990238)

Utilizator mati.coldea@gmail.comMatei Coldea [email protected] Data 7 martie 2023 17:35:24
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define INF 100000

int main() {

	ios_base::sync_with_stdio(false);
	fin.tie(NULL);

	int n;
	fin >> n;
	

	long long suma = -1;
	long long sumaact = -1;
	int stact=0;
	int st=-1;
	int sf=0;
	int mini = -INF;
	int stmini;
	int sfmini;

	for (int i = 1; i <= n; i++) {

		int act;
		fin >> act;
		if (mini < act) {
			mini=act;
			stmini = i;
			sfmini = i;
		}
		//mini = min(mini, act);

		if (sumaact < 0) {
			stact = i;
			sumaact = 0;
		}
		sumaact += act;

		if (sumaact > suma) {
			st = stact;
			sf = i;
			//cout << a[sf]<<'\n';
			suma = sumaact;
		}

	}

	if (st == -1) {
		fout << mini<<' '<<stmini<<' '<< sfmini<<'\n' ;
	}
	else {
		fout << suma << ' ' << st << ' ' << sf << '\n';

	}



	fin.close();
	fout.close();
}