Pagini recente » Cod sursa (job #2881580) | Cod sursa (job #1097670) | Cod sursa (job #1191957) | Cod sursa (job #2060602) | Cod sursa (job #1499899)
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n;
struct sub{long long int sum;int pi,pf;};
sub *p;
int main()
{
in>>n;
p = new sub[n+1];
long long int x;
long long int maxx = -1;
int poz = -1;
in>>x;
p[1].sum = x;
p[1].pi = 1;
p[1].pf = 1;
for(int i=2;i<=n;i++)
{
in>>x;
if(p[i-1].sum+x>x)
{
p[i].sum = p[i-1].sum+x;
p[i].pi = p[i-1].pi;
p[i].pf = p[i-1].pf+1;
}
else
{
p[i].sum = x;
p[i].pi = i;
p[i].pf = i;
}
if(maxx<p[i].sum)
{
maxx = p[i].sum;
poz = i;
}
}
out<<p[poz].sum<<" "<<p[poz].pi<<" "<<p[poz].pf<<'\n';
delete[] p;
return 0;
}