Cod sursa(job #392505)
| Utilizator | Data | 7 februarie 2010 16:52:24 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,a,sbi,sb=1,se,i,smax=-2000000000,si,sp;
int max(int,int);
int main()
{
fin>>n;
for (i=1;i<=n;i++)
{
fin>>a;
si=max(sp+a,a);
if (sp<0&&si>0) sbi=i;
if (smax<si)
{
smax=si;
se=i;
sb=sbi;
}
sp=si;
}
fout<<smax<<' '<<sb<<' '<<se;
fout.close();
return 0;}
int max(int a,int b) {if (a>=b) return a; return b;}
