Pagini recente » Cod sursa (job #1865464) | Cod sursa (job #2449990) | Cod sursa (job #255042) | Cod sursa (job #2486229) | Cod sursa (job #2960212)
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#include <climits>
using namespace std;
ifstream cin("ssm.in");ofstream cout("ssm.out");
vector<int>v;
int main()
{
int n;
cin>>n;
v.resize(n+1);
for(int i=1;i<=n;i++){
cin>>v[i];
}
int sumaCurenta=0;
int sumaMaxima=INT_MIN; // cea mai mica valoare pe care poate sa o ia int-ul
int indiceIntial2 = 1;
int indiceIntial;
int indiceFinal;
for(int i=1;i<=n;i++){
sumaCurenta+=v[i];
if(sumaCurenta>sumaMaxima){
sumaMaxima=sumaCurenta;
indiceFinal=i;
indiceIntial=indiceIntial2;
}
if(sumaCurenta<0){
sumaCurenta=0;
indiceIntial2=i+1;
}
}
cout<<sumaMaxima<<" "<<indiceIntial<<" "<<indiceFinal;
return 0;
}