Cod sursa(job #2032854)

Utilizator ApetriiRaduApetrii Radu ApetriiRadu Data 5 octombrie 2017 19:48:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int Sp[6000010],best[6000010];
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;
}