Pagini recente » Cod sursa (job #3316134) | Cod sursa (job #3316135) | Cod sursa (job #3324610) | Cod sursa (job #3318847) | Cod sursa (job #3324618)
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n;
int v[6000005];
int sp[6000005];
int main()
{
cin>>n;
for(int i = 1; i<=n; i++)
{
cin>>v[i];
sp[i] = sp[i - 1] + v[i];
}
int smax = v[1];
int st = 1;
int dr = 1;
for(int i = 1; i<=n; i++)
{
int poz = 1;
for(int j = 1; j<=i; j++) //vreau sa gasesc sp[j - 1] minim
{
if(sp[j - 1] < sp[poz - 1])
{
poz = j;
}
}
int sum = sp[i] - sp[poz - 1];
if(sum > smax)
{
smax = sum;
st = poz;
dr = i;
}
else if(sum == smax && poz < st)
{
st = poz;
dr = i;
}
else if(sum == smax && poz == st && i < dr)
{
dr = i;
}
}
cout<<smax<<" "<<st<<" "<<dr;
return 0;
}