Cod sursa(job #2272193)

Utilizator alex_bb8Banilean Alexandru-Ioan alex_bb8 Data 29 octombrie 2018 20:07:42
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int n,i,best=-9999999,sol=0,x,sx,bg=1,en=1;

int main()
{

    f>>n;
    f>>x;
    best=x;
    for(i=2;i<=n;i++)
    {
     f>>x;
     if(best <0 ) best=x,sx=i;
     else best += x;

     if(best>sol)
        sol=best,bg=sx,en=i;
     else if(best==sol)
     {
       if(sx<bg) sol=best,bg=sx,en=i;
       else if(sx==bg && i-sx<en-bg) sol=best,bg=sx,en=i;
     }
    }
    g<<sol<<" "<<bg<<" "<<en;
    return 0;
}