Pagini recente » Cod sursa (job #1397334) | Cod sursa (job #374940) | Cod sursa (job #2051665) | Cod sursa (job #681263) | Cod sursa (job #3333882)
#include <fstream>
#include<algorithm>
#include<stack>
#include<string>
#include<vector>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
long long v[5003];
int main()
{
long long n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
}
long long 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