Pagini recente » Cod sursa (job #2298705) | Cod sursa (job #534499)
Cod sursa(job #534499)
#include <stdio.h>
#include <iostream>
const int DIM = 1 << 22;
int pos;
char buf[DIM];
void read(int &x)
{
x = 0;
while(!isdigit(buf[pos]) && buf[pos] != '-')
if(++pos == DIM)
fread(buf, sizeof(char), DIM, stdin), pos = 0;
int semn = 1;
if(buf[pos] == '-')
semn = -1, pos++;
while(isdigit(buf[pos]))
{
x = x * 10 + buf[pos] - '0';
if(++pos == DIM)
fread(buf, sizeof(char), DIM, stdin), pos = 0;
}
x *= semn;
}
inline int max(int a, int b)
{
return (a<b)?b:a;
}
int main()
{
freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
int bestmax;
int last, N, i, a;
int inc = 1, bestinc = 1, bestfin = 1;
read(N);
read(last);
bestmax = last;
for(i = 2; i <= N; i++)
{
read(a);
if(a > last + a){
last = a;
inc = i;
}
else last += a;
if(bestmax < last){
bestmax = last;
bestinc = inc;
bestfin = i;
}
}
printf("%d %d %d\n",bestmax, bestinc, bestfin);
return 0;
}