Cod sursa(job #2036718)
Utilizator | Data | 10 octombrie 2017 23:44:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,x,s,sma,nrt,n,p1,p2;
int main()
{f>>n;
s=0;
sma=-2000000000;
nrt=0;
p1=1;
for(i=1;i<=n;++i)
{f>>x;
if(s+x>=x)
{s=s+x;
++nrt;
if(s>sma)
{sma=s;
p2=i;
p1=p2-nrt+1;}}
else
{s=x;
nrt=1;
if(s>sma)
{sma=s;
p1=i;}}}
g<<sma<<' '<<p1<<' '<<p2;
return 0;
}