Pagini recente » Cod sursa (job #3123422) | Cod sursa (job #2317782) | Cod sursa (job #2740662) | Cod sursa (job #3260081) | Cod sursa (job #901315)
Cod sursa(job #901315)
#include <iostream>
#include <fstream>
using namespace std;
int a[6000000];
int main()
{
int i, st, dr, sum=0, n,stm,drm,summ;
ifstream fin ("ssm.in");
fin>>n;
for (i=1; i<=n;i++)
fin>>a[i];
fin.close();
st=dr=stm=drm=1;
sum=summ=a[1];
while(dr!=n)
{
if(sum<=0)
{st=dr=dr+1;
sum=a[st];
if(sum>summ||(sum==summ&&stm!=drm))
{summ=sum;stm=drm=st;}
}
else
{
dr++;
sum+=a[dr];
if(sum>summ||(sum==summ&&(dr-st<drm-stm)))
{
summ=sum;
stm=st;
drm=dr;
}
}
}
ofstream fout("ssm.out");
fout<<summ<<" "<<stm<<" "<<drm<<"\n";
return 0;
}