Pagini recente » Cod sursa (job #189258) | Cod sursa (job #371583) | Cod sursa (job #481407) | Cod sursa (job #2245111) | Cod sursa (job #3333885)
#include <fstream>
#include<algorithm>
#include<stack>
#include<string>
#include<vector>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int v[5003];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
}
int lf,rg,maxis=-2000000000,sum=-1,st;
for(int i=1;i<=n;i++){
if(sum<0){
sum=0;
st=i;
}
sum+=v[i];
if(sum>maxis){
maxis=sum;
lf=st;
rg=i;
}
}
cout<<maxis<<" "<<lf<<" "<<rg;
return 0;
}
//logica :
// facem suma constant si dc <0 -> e negativa aka nu e buna
// asa ca resetam suma si st=i
// daca sm> maxis(suma max) -> dam update