Cod sursa(job #2172529)
Utilizator | Data | 15 martie 2018 16:53:04 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int maxim = INT_MIN;
int main()
{
int s=0,n,i,x,f,poz1,poz2;
fin >> n;
for (i = 1; i <= n ; ++i)
{
fin >> x;
if (s + x >= x)
{
s += x;
}
else s = x,f = i;
if (s>maxim){
maxim = s;
poz1 = f;
poz2 = i;
}
}
fout << maxim << " " << poz1 << " " << poz2 << "\n";
return 0;
}