Cod sursa(job #1427378)
| Utilizator | Data | 2 mai 2015 01:45:55 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
#define maxn 6000005
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[maxn], n;
int main()
{
int sum=0, index, best, prim, ultim;
best=(-1)<<31;
fin >> n;
for(int i=1; i<=n; i++)
fin >> s[i];
for(int i=1; i<=n; i++)
{
if(sum<0)
{
sum=s[i];
index=i;
}
else
{
sum+=s[i];
}
if(best<sum)
{
best=sum;
prim=index;
ultim=i;
}
}
fout << best << ' ' << prim << ' ' << ultim;
return 0;
}
