Pagini recente » Cod sursa (job #2460142) | Cod sursa (job #1404314) | Cod sursa (job #1493777) | Cod sursa (job #656234) | Cod sursa (job #481965)
Cod sursa(job #481965)
#include <cstdio>
#include <cstdlib>
#include <limits.h>
FILE *fin=fopen("ssm.in","r");
FILE *fout=fopen("ssm.out","w");
inline bool isgood(char c)
{
return ((c<='9')&&(c>='0')||(c=='-'));
}
int main (int argc, char * const argv[]) {
int n;
fscanf(fin, "%d",&n);
int smin=0;
int psmin=-1;
int spart=0;
int max=INT_MIN;
int pi=-1;
int pf=-1;
for (int i=0; i<n; i++)
{
int v=0;
int sgn=1;
char c;
while (!isgood(c=fgetc(fin)));
if (c=='-')
{
sgn=-1;
c=fgetc(fin);
}
do {
v=v*10+c-'0';
c=fgetc(fin);
}while (isgood(c));
v*=sgn;
spart+=v;
if (spart-smin>max)
{
max=spart-smin;
pi=psmin;
pf=i;
}
if (spart<smin)
{
psmin=i;
smin=spart;
}
}
fprintf(fout, "%d %d %d\n",max,pi+2,pf+1);
fclose(fin);
fclose(fout);
return 0;
}