Cod sursa(job #896827)
Utilizator | Data | 27 februarie 2013 17:30:55 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
int x[6000000];
ifstream eu("ssm.in");
ofstream tu("ssm.out");
int main()
{
int S=0,i,max=-21,b,begin,end,n;
eu>>n;
for(i=1;i<=n;i++)
eu>>x[i];
for(i=1;i<=n;i++)
{
if(S+x[i]>=x[i])
S=S+x[i];
else
{
S=x[i];
b=i;
}
if(S>max)
{
max=S;
begin=b;
end=i;
}
}
tu<<max<<" "<<begin<<" "<<end;
return 0;
}