Cod sursa(job #2438399)
Utilizator | Baraian Tudor Stefan BaraianTudor | Data | 12 iulie 2019 13:54:05 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,x,cur,sol=INT_MIN,st,dr,stmax;
int main()
{
in>>n;
for(int i=1;i<=n;i++)
{
in>>x;
cur+=x;
if(sol<cur)
{
sol=cur;
if(cur<0)
{
stmax=i,dr=i;
}
else
{
dr=i;stmax=st;
}
}
if(cur<0)
{
cur=0;
st=i+1;
}
}
out<<sol<<' '<<stmax<<' '<<dr;
return 0;
}