Pagini recente » Cod sursa (job #2972499) | Cod sursa (job #2516297) | Cod sursa (job #994330) | Cod sursa (job #995260) | Cod sursa (job #1964201)
#include <bits/stdc++.h>
#define pas(x) ((x-1)^x)&x
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,aib[12000000],a,maxi,inc,sf;
void update(int x,int val)
{
for(int i=x;i<=n;i+=pas(i))
aib[i]+=val;
}
int suma(int x)
{
int sum=0;
for(int i=x;i>0;i-=pas(i))
sum+=aib[i];
return sum;
}
int main()
{
f>>n;
for(int i=1;i<=n;++i)
{
f>>a;
update(i,a);
if(a>maxi)
maxi=a,inc=i,sf=i;
}
for(int st=1;st<n;++st)
for(int dr=st+1;dr<=n;++dr)
if((suma(dr)-suma(st-1))>maxi)
maxi=suma(dr)-suma(st-1),inc=st,sf=dr;
g<<maxi<<" "<<inc<<" "<<sf;
return 0;
}