Cod sursa(job #2262064)
Utilizator | Data | 16 octombrie 2018 22:23:20 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int a=1,b,sum=0,x,apr,bpr,sumpr,i,n,maxx=-99999;
fin >> n;
for (i=1;i<=n;i++) {
fin >> x;
sum=sum+x;
if (sum>maxx) {
maxx =sum;
b=i;
}
if (sum < 0) {
sumpr=sum;
sum = 0;
bpr=b;
b=0;
apr = a;
a=i+1;
}
}
if (b==0) {
fout << sumpr << " "<<apr << " "<<bpr;
}
else {
fout << maxx << " "<< a << " "<< b;
}
fin.close();
fout.close();
return 0;
}