Pagini recente » Profil Liviu98 | Cod sursa (job #434589) | Cod sursa (job #2459514) | Cod sursa (job #1056584) | Cod sursa (job #1589077)
/* varianta noua
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
int n,s,maxx,st,dr,nr,p;
in>>n;
s=0;
maxx=-12345678;
for(int i=1;i<=n;i++)
{
in>>nr;
if(s<0)
{
s=0;
p=i;
}
s=s+nr;
if(maxx<s)
{
maxx=s;
st=p;
dr=i;
}
}
out<<maxx<<" "<<st<<" "<<dr;
return 0;
}
*/
// varianta acas
#include <fstream>
using namespace std;
int v[6000000],n;
int main()
{
int smax,stmax,drmax,i,s,st;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin>>n;
for(i=1;i<=n;++i)
fin>>v[i];
smax=v[1];
s=v[1];
st=1;
stmax=1;
drmax=1;
for(i=2;i<=n;++i)
{
s+=v[i];
if(s>smax)
{
smax=s;
stmax=st;
drmax=i;
}
if(s<0)
{
st=i+1;
s=0;
}
}
fout<<smax<<" "<<stmax<<" "<<drmax<<"\n";
fin.close();
fout.close();
return 0;
}