Cod sursa(job #2294781)

Utilizator iulius510iulius alexandru iulius510 Data 2 decembrie 2018 19:54:46
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int inc,sf,sumax,x,n,sum,incmax,sfmax;
int main()
{
  f>>n>>x;
  inc=incmax=1;
  sf=sfmax=1;
  sum=x;
  sumax=x;
  for(int i=2;i<=n;i++)
  {
    f>>x;
    if(sum+x>x)
    {
    	sf=i;
        sum=sum+x;
    }
    else
    {
      inc=sf=i;
      sum=x;
    }
    if(sumax<sum)
    {
    	sumax=sum;
    	incmax=inc;
    	sfmax=sf;
    }
    else if(sumax==sum) 
    {
    	if(inc<incmax){incmax=inc; sfmax=sf;}
    	else if(inc==incmax)
    		 {if((sfmax-incmax)>(sf-inc)) 
    	         {
    	         	sfmax=sf;
    	         	incmax=inc;
    	         }
    	     }
    }
  }
  g<<sumax<<' '<<incmax<<' '<<sfmax;
}