Cod sursa(job #2480065)
| Utilizator | Data | 24 octombrie 2019 20:42:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
int st, dr, val, val_max, s[100001], n, i, imin, minim, x;
int main ()
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
fin>>n;
val_max=-2000000000;
minim=0;
imin=0;
for (i=1; i<=n; i++)
{
fin>>x;
s[i]=s[i-1]+x;
if (s[i]<minim)
{
minim=s[i];
imin=i;
}
val=s[i]-minim;
if (val>val_max)
{
val_max=val;
st=imin+1;
dr=i;
}
}
fout<<val_max<<" "<<st<<" "<<dr;
}
