Cod sursa(job #2152637)
Utilizator | Iustinian Petrariu IustinPetrariu | Data | 5 martie 2018 18:23:29 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
#define infinit 10000000
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int bestsum,n,a[101],sum=0,ind=0,suma=0,beg,endd,idx;
int main()
{
fin>>n;
for(int i =1 ; i <= n ; i ++)
fin>>a[i];
bestsum=-infinit;
for(int i =1 ; i <= n; i++)
{
sum+=a[i];
if(sum<0)
{
sum=0;
idx=i;
}
else if(sum>bestsum)
{
bestsum=sum;
beg=idx,endd=i;
}
}
fout<<bestsum<<endl;
fout<<beg+1<<" "<<endd;
return 0;
}