Pagini recente » Cod sursa (job #2070336) | Cod sursa (job #8522) | Cod sursa (job #2522295) | Cod sursa (job #2919290) | Cod sursa (job #2172555)
#include <climits>
#include <cstdio>
#define buff_size 400001
using namespace std;
char buff[buff_size];int pos=0, semn;
FILE*f=freopen("ssm.in","r",stdin);
FILE*g=freopen("ssm.out","w",stdout);
inline void read(int &nr){
semn = 1;
while(buff[pos] < '0' || buff[pos] > '9'){if(buff[pos]== '-' )semn = -1; if(++pos == 200000) fread(buff, 1, 200000, stdin), pos = 0;}
nr = 0;
while('0' <= buff[pos] && buff[pos] <= '9') {nr = nr * 10 + buff[pos] - '0';if(++pos == 200000) fread(buff, 1, 200000, stdin), pos = 0;}
nr*=semn;
}
int maxim = INT_MIN;
int main()
{
int s=0,n,i,x,f,poz1,poz2;
read(n);
for (i = 1; i <= n ; ++i)
{
read(x);
if (s + x >= x)
{
s += x;
}
else s = x,f = i;
if (s>maxim){
maxim = s;
poz1 = f;
poz2 = i;
}
}
printf("%d %d %d\n",maxim,poz1,poz2);
return 0;
}