Cod sursa(job #2297725)

Utilizator iulius510iulius alexandru iulius510 Data 6 decembrie 2018 13:22:55
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 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>sf) 
	
    	         {
	
    	         	sfmax=sf;
	
    	         	incmax=inc;
	
    	         }
	
    	     }
     }
  }
g<<sumax<<' '<<incmax<<' '<<sfmax;
 return 0;
	
}