Pagini recente » Cod sursa (job #2340495) | Cod sursa (job #1144989) | Cod sursa (job #2515212) | Cod sursa (job #1403031) | Cod sursa (job #1729920)
#include <fstream>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,nr,optim,ii,is;
int goptim,gii,gis;
f >> n;
f >> optim;
goptim = optim;
ii = is = gii = gis = 1;
int indice0prim=-1,indice0ultim=-2;
for(int i=2;i<=n;i++){
f >> nr;
if(optim + nr > nr){
is ++;
optim+=nr;
if(goptim < optim){
goptim = optim;
gis = is;
gii = ii;
}
if(nr == 0){
if(indice0ultim>=indice0prim)
indice0ultim++;
else indice0prim=indice0ultim=i;
}
}
else{
optim = nr;
ii = is = i;
if(indice0ultim +1 >=ii && indice0prim < ii)
ii=indice0prim;
else indice0ultim=indice0prim-1;
if(nr == 0){
indice0prim=indice0ultim=i;
}
if(goptim<optim){
goptim = optim;
gii = ii;
gis = is;
}
}
}
g << goptim << " " << gii << " " << gis;
return 0;
}