Cod sursa(job #1673206)
Utilizator | Data | 3 aprilie 2016 15:50:43 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
int n, s = 0, st = 1, x, smax, stmax = 1, drmax = 1;
cin>>n>>smax;
s = smax;
if(s<0){s = 0; st = 2;}
for(int i=2; i<=n; i++){
cin>>x;
s = s + x;
if(s>smax)
{
smax = s;
stmax = st;
drmax = i;
}
if(s<0)
{
s = 0;
st = i+1;
}
}
cout<<smax<<' '<<stmax<<' '<<drmax;
return 0;
}