Pagini recente » Probleme de acoperire (partea a II-a) | Monitorul de evaluare | Cod sursa (job #902574) | Profil unchnoun | Cod sursa (job #2270143)
#include <bits/stdc++.h>
#define DMAX 6000010
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int Sp[DMAX],best[DMAX];
int n,i,j,numar,minim,bestSum,indicef,indicei,minimi;
int main()
{fin>>n;
for(i=1;i<=n;i++)
{fin>>numar;
Sp[i]=Sp[i-1]+numar;
}
bestSum=-9999999;
for(i=1;i<=n;i++)
{best[i]=Sp[i]-minim;
if(minim>Sp[i])
{minim=Sp[i];
minimi=i+1;
}
if(bestSum<best[i])
{bestSum=best[i];
indicef=i;
indicei=minimi;
}
}
if(indicei>indicef)
indicei=indicef;
fout<<bestSum<<' '<<indicei<<' '<<indicef<<'\n';
return 0;
}