Pagini recente » Cod sursa (job #901754) | tema | Cod sursa (job #1095202) | Cod sursa (job #1132686) | Cod sursa (job #2311109)
#include <bits/stdc++.h>
#define LIM 1<<17
/// TONI BO$$ was here
/// #MLC
using namespace std;
char BUF[LIM];
int poz;
inline char getChar(){
poz++;
if(poz>=LIM){
fread(BUF,LIM,1,stdin);
poz=0;
}
return BUF[poz];
}
inline int getNr(){
int r=0, semn=1;
char ch=getChar();
while(isdigit(ch)==0 && ch!='-') ch=getChar();
if(ch=='-'){
semn=-1;
ch=getChar();
}
while(isdigit(ch)!=0){
r=r*10+semn*(ch-'0');
ch=getChar();
}
return r;
}
int v[6000001];
int main()
{
int n,pmax,umax,p,u,summax,sum,i;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
n=getNr();
for(i=1; i<=n; i++)
v[i]=getNr();
pmax=umax=p=u=1;
summax=sum=v[1];
for(i=2; i<=n; i++)
{
if(sum+v[i]<=0)
{
sum=v[i];
p=u=i;
}
else
{
sum+=v[i];
u=i;
}
if(sum>summax)
{
summax=sum;
pmax=p;
umax=u;
}
}
printf("%d %d %d",summax,pmax,umax);
return 0;
}