Pagini recente » Cod sursa (job #397752) | Cod sursa (job #2164485) | Cod sursa (job #2211876) | Cod sursa (job #1136431) | Cod sursa (job #1161364)
#include <fstream>
#define MAXSIZE 6000010
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[MAXSIZE],best[MAXSIZE],k,s,maxi,poz1,sol,x,y,n;
void citirea ()
{
int i;
fin>>n;
for(i=1 ; i<=n ; ++i)
{
fin>>v[i];
if(v[i]>k)
{
k=v[i];
poz1=i;
}
}
}
void crearea()
{
int i,a,b;
for(i=1 ; i<=n ; ++i)
{
best[i]=v[i];
a=i;
while(best[i]>0 && i<=n)
{
++i;
best[i]=v[i]+best[i-1];
b=i;
if((best[i]>maxi) || (best[i]==maxi && b-a==y-x && v[a]<v[x]) )
{
x=a;
y=b;
maxi=best[i];
}
}
}
}
int main()
{
citirea();
crearea();
if(maxi>0)
fout<<maxi<<" "<<x<<" "<<y;
else
fout<<k<<" "<<poz1<<" "<<poz1;
fin.close();
fout.close();
return 0;
}