Pagini recente » Cod sursa (job #1311226) | Cod sursa (job #2571778) | Cod sursa (job #831126) | Cod sursa (job #529581) | Cod sursa (job #806722)
Cod sursa(job #806722)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[6000002],best[6000002],n,i,inc,sf,lungime,suma;
int maxim(int x, int y)
{
if (x>y) return x;
else return y;
}
int main()
{
f>>n;
f>>v[1];
best[1]=v[1];
lungime=v[1];
for(i=2;i<=n;i++)
{
f>>v[i];
best[i]=maxim(v[i],v[i]+best[i-1]);
if (best[i]>lungime)
{
lungime=best[i];
sf=i;
}
}
suma=lungime;
for (i=sf;i>=1;i--)
{
suma=suma-v[i];
if (suma==0) { inc=i; break;}
}
i=inc-1;
while (v[i]==0)
{
i--;
}
inc=i+1;
g<<lungime<<" "<<inc<<" "<<sf;
}