Pagini recente » Cod sursa (job #2666529) | Cod sursa (job #989558) | Cod sursa (job #316543) | Cod sursa (job #295229) | Cod sursa (job #1197448)
#include <cstdio>
#define maxim 6000005
using namespace std;
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
int n,m,p,q,sum[maxim],inc[maxim];
void term(int i)
{m=sum[i];
p=inc[i];
q=i;
}
int main()
{int i,x;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) {fscanf(f,"%d",&x);
if (sum[i-1]>0) {sum[i]=sum[i-1]+x;
inc[i]=inc[i-1];
}
else {sum[i]=x;
inc[i]=i;
}
}
for (i=1;i<=n;i++) if (sum[i]>m) term(i);
else if (sum[i]==m&&inc[i]<p) term(i);
else if (sum[i]==m&&inc[i]==p&&i<q) term(i);
fprintf(g,"%d %d %d\n",m,p,q);
return 0;
}