Pagini recente » Cod sursa (job #2938279) | Cod sursa (job #2733708) | Cod sursa (job #256530) | Cod sursa (job #1702816) | Cod sursa (job #524306)
Cod sursa(job #524306)
#include <cstdio>
#include <cctype>
int N,inc,sf,i,j,max,sum,v[7000011],p;
#define DIM 8192
char buf[DIM];
int poz = DIM - 1;
void cit(int &x)
{
x = 0;
int semn = 1;
while(!isdigit(buf[poz]) && buf[poz] != '-')
if(++poz == DIM)
fread(buf, sizeof (char), DIM, stdin), poz = 0;
if(buf[poz] == '-')
{
semn = -1;
if(++poz == DIM)
fread(buf, sizeof (char), DIM, stdin), poz = 0;
}
while(isdigit(buf[poz]))
{
x = x * 10 + semn*(buf[poz] - '0');
if(++poz == DIM)
fread(buf, sizeof (char), DIM, stdin), poz = 0;
}
}
int main()
{
freopen("ssm.in","r",stdin);
cit(N);
for (i=1;i<=N;++i)
cit(v[i]);
max=-1;
sum=0;
inc=sf=0;
for (i=1;i<=N;++i)
{
if (sum>=0)
sum+=v[i];
else
{
sum=v[i];
p=i;
}
if (sum>max)
{
max=sum;
inc=p;
sf=i;
}
}
freopen("ssm.out","w",stdout);
if (max==-1) sf=inc=N;
printf("%d %d %d", max,inc,sf);
return 0;
}