Pagini recente » Cod sursa (job #1627562) | Cod sursa (job #2246458) | Cod sursa (job #1483430) | Cod sursa (job #2588769) | Cod sursa (job #1138292)
#include <fstream>
using namespace std;
#define NMax 6000001
#define inf 2100000000
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,best[NMax],pr[NMax],mx,p;
int main()
{
int i,a;
best[0]=-inf;
f>>n;
if(n==1)
{
f>>a;
g<<a<<" 1 1\n";
} else {
for(i=1;i<=n;i++)
{
f>>a;
if(best[i-1]<0) {pr[i]=i;best[i]=a;}
else {pr[i]=pr[i-1];best[i]=best[i-1]+a;}
if(best[i]==mx) {if(i-pr[i]>p-pr[p]) p=i;}
else if(best[i]>mx) {mx=best[i];p=i;}
}
g<<mx<<" "<<pr[p]<<" "<<p<<"\n";}
f.close();
g.close();
return 0;
}