#include<iostream> #include<fstream> using namespace std; /// PROMBLEMA 1 => CERINTA: Aflati secventa de suma maxima dintr-un vector de numere intregi si determinati indicii de inceput si final ai acesteia. ifstream fin("ssmax.in"); ofstream fout("ssmax.out"); int main () { int smax,s,i,n,a[100],st,dr,x,y; fin>>n; for (i=1;i<=n;i++) fin>>a[i]; /// citire s=a[1]; st=1; dr=1; /// initializari if (s<0) s=0; else smax=s; /// st si dr sunt auxiliare , iar x si y mentin solutiile for (i=2;i<=n;i++) { s+=a[i]; if (s>smax) { smax=s; x=st; y=i; } if (s<0) { s=0; st=i+1; dr=i+1; } } fout<<"secventa de suma maxima este "<<smax; fout<<" iar aceasta incepe cu termenul al "<<x<<"-lea"<<" si se termina cu termenul al "<<y<<"-lea.";