Cod sursa(job #862629)

Utilizator superman_01Avramescu Cristian superman_01 Data 22 ianuarie 2013 20:21:50
Problema Subsecventa de suma maxima Scor 55
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include<fstream>
  
using namespace std;
  
ifstream f("ssm.in");
ofstream g("ssm.out");
  
long n,s[6000005],smax;
  
int main()
{
      
    int i,j;
    f>>n;
    int c;
    for(i=1;i<=n;i++)
    {
        f>>c;
    s[i]=s[i-1]+c;
    }
    int start,finish,start1,finish1;
    int min=200000;
    int max=0,val=0;
    int pf,pg,smax=-1000000;
    for(i=1;i<=n;i++)
    {
        if(s[i]<min)
            {
                min=s[i];
                max=0;
                start1=i;
                val=0;
        }
        if(s[i]>max)
        {
            max=s[i];
			finish1=i;
        }
         
         
                val=s[finish1]-s[start1];
         
        if(val>smax)
         {
             smax=val;
			 start=start1;
			 finish=finish1;
        }
           
       
          
          
    }
    
 
 
    g<<val<<" ";
    g<<start+1<<" "<<finish;
      
    f.close();
    g.close();
    return 0;
}