Cod sursa(job #1791232)
Utilizator | Data | 29 octombrie 2016 10:59:00 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
int n,x,v[6000010],maxi;
int main()
{
ifstream a("ssm.in");
ofstream b("ssm.out");
a>>n;
int p1=1,p1max=1,p2max=1;
a>>x;
maxi=x;
v[1]=x;
for(int i=2;i<=n;i++)
{
a>>x;
v[i]=x;
if(v[i]>v[i-1]+x)
{
p1=i;
}
else v[i]=v[i-1]+x;
if(maxi<=v[i])
{
maxi=v[i];
p1max=p1;
p2max=i;
}
}
b<<maxi<<" "<<p1max<<" "<<p2max;
return 0;
}