Cod sursa(job #2143908)
Utilizator | Data | 26 februarie 2018 13:11:13 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 45 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,v[100001],Min,smax,p,u,a,i;
int main()
{
in>>n;
Min=1000001;
smax=-1000001;
for(i=1;i<=n;i++) in>>v[i];
for(i=1;i<=n;i++)
{
v[i]+=v[i-1];
if(smax<v[i]-Min)
{
smax=v[i]-Min;
p=a+1;
u=i;
}
if(Min>v[i])
{
Min=v[i];
a=i;
}
}
out<<smax<<" "<<p<<" "<<u;
return 0;
}