Cod sursa(job #1850944)
Utilizator | Data | 19 ianuarie 2017 03:20:42 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.15 kb |
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int maxim,n,v[2000000],i;
int a,b;
f>>n;
int j;
for(i=n-1;i>=0;i--)
{
f>>v[i];
}
maxim=v[0];
int st=0;
int sf=0;
int st1=0;
int sf1=0;
for(int i=1;i<n;i++)
if(v[i]+v[i-1]>v[i])
{v[i]+=v[i-1];
sf=i;
if(maxim<v[i])
{
maxim=v[i];
sf1=i;
st1=st;
}
else
{
}
}
else
{
st=i;
}
// for(int i=n-1;i>=0;i--)
// g<<p[i]<<" ";
// g<<"\n";
maxim=v[0];
for(int i=0;i<n;i++)
if(maxim<v[i])
{maxim=v[i];
j=i;
}
i=j;
g<<maxim<<" ";
g<<n-sf1<<" ";
g<<n-st1;
}