Pagini recente » Cod sursa (job #1327312) | Cod sursa (job #1878387) | Cod sursa (job #1173525) | Cod sursa (job #1736506) | Cod sursa (job #1769829)
#include <stdio.h>
#include <ctype.h>
#define lim 131072
FILE *fin,*fout;
char BUF[lim];
int poz=lim;
inline char getch()
{
if(poz==lim)
{
fread(BUF,lim,1,fin);
poz=0;
}
return BUF[poz++];
}
inline int getnr()
{
char ch;
ch=getch();
while(isdigit(ch)==0 && ch!='-')
ch=getch();
int semn=1,rez=0;
if(ch=='-')
{
semn=-1;
ch=getch();
}
do
{
rez=rez*10+ch-'0';
ch=getch();
} while(isdigit(ch));
return rez*semn;
}
int main()
{
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
int n,i,sc,x,max,start,stop,st;
max=sc=0;
st=1;
n=getnr();
for(i=0;i<n;i++)
{
x=getnr();
if(sc<=0)
{
sc=0;
st=i+1;
}
sc+=x;
if(sc>max)
{
max=sc;
stop=i+1;
start=st;
}
}
fprintf(fout,"%d %d %d",max,start,stop);
fclose(fin);
fclose(fout);
return 0;
}