Cod sursa(job #2859751)
Utilizator | Data | 1 martie 2022 20:49:14 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int a[6000002], n;
int main()
{
int smax=-1;
int p, u, j;
fin>>n;
for (int i=1; i<=n; ++i) fin>>a[i];
int s=a[1]; j=1; smax=a[1]; p=1; u=1;
for (int i=2; i<=n; ++i)
{
if (s>=0) s+=a[i];
else {s=a[i]; j=i;}
if (s>smax) {smax=s; u=i; p=j;}
}
if (s>smax) {smax=s; u=n; p=j;}
//s=a[i]; j=i;
fout<<smax<<' '<<p<<' '<<u;
return 0;
}