Pagini recente » Cod sursa (job #1629937) | Cod sursa (job #2137454) | Cod sursa (job #1501321) | Cod sursa (job #1367043) | Cod sursa (job #2869861)
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int st,fin,n,v[NMAX];
void Citire()
{
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
}
void Rezolvare()
{
vector <int> dp(n+1);
dp[1]=v[1];
for(int i=2;i<=n;i++)
{
if(dp[i-1]>=0)
dp[i]=dp[i-1]+v[i];
else
dp[i]=v[i];
}
int maxi=0;
int ok=0;
for(int i=1;i<=n;i++)
{
cout<<dp[i]<<' ';
if(maxi<dp[i])
{
maxi=dp[i];
fin=i;
}
}
for(int i=fin;i>=1;i--)
{
if(dp[i]<0)
{
st=i+1;
ok=1;
break;
}
}
if(ok==0)
st=1;
g<<maxi<<' '<<st<<' '<<fin;
}
int main()
{
Citire();
Rezolvare();
return 0;
}