Cod sursa(job #266022)
Utilizator | Data | 24 februarie 2009 20:45:19 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
#include<fstream>
#include<iostream>
using namespace std;
int N,inceput,sfarsit,i,j,max,sum,v[7000011],poz;
int main()
{ifstream f("ssm.in");
f>>N;
for (i=1;i<=N;++i)
f>>v[i];
int max=0,sum=0;
for (i=1;i<=N;++i)
{if (sum>=0)
sum+=v[i];
else
{sum=v[i];
poz=i;}
if (sum>max)
{max=sum;
inceput=poz;
sfarsit=i;}}
ofstream g("ssm.out");
g<<max<<" "<<" "<<inceput<<" "<<sfarsit;
return 0;}