Cod sursa(job #1868409)
| Utilizator | Data | 4 februarie 2017 21:46:04 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
#define MN -6000008
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long long sum=MN, n, inc, sf, x, i,sumacrt,pinc=1,psf=1;
int main()
{fin>>n;
for (i=1; i<=n; i++)
{
fin>>x;
sumacrt+=x;
if (sumacrt<0)
{if (sumacrt>sum)
{sum=sumacrt;
inc=pinc;
sf=psf;
}
sumacrt=0;
pinc=i+1;
psf=i;
}
else if (sumacrt>sum)
{
sum=sumacrt;
inc=pinc;
sf=psf;
}
psf++;
}
fout<<sum<<" "<<inc<<" "<<sf;
return 0;
}
