Cod sursa(job #1867322)
Utilizator | Data | 3 februarie 2017 22:53:33 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <climits>
using namespace std;
int main()
{
int n, s=0, smaxi=INT_MIN, dr, st, nr, stmaxi;
ifstream in("ssm.in");
ofstream out("ssm.out");
in >> n;
for (int i=1;i<=n;++i)
{
in >> nr;
if (s<0)
{
st=i;
s=nr;
}
else
s+=nr;
if (s>smaxi)
{
smaxi=s;
stmaxi=st;
dr=i;
}
}
out << smaxi << " " << stmaxi << " " << dr;
return 0;
}