Cod sursa(job #670507)

Utilizator alin.18Chedea Alin alin.18 Data 29 ianuarie 2012 13:00:19
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream> 
using namespace std; 
int v[6000001],n; 
int main() 
{ 
    int maxim,st,dr,i,x,j,s,p; 
    ifstream f("ssm.in"); 
    ofstream g("ssm.out"); 
    f>>n; 
    for(i=1;i<=n;i++) 
    f>>v[i]; 
    
    maxim=v[1]; 
    st=1;
    dr=1;
    p=1;
    s=v[1];
    
    if(s<0)
    {
           s=2;
           p=2;
           }
    for(i=2;i<=n;i++) 
   { 
                      s=s+v[i]; 
                      if(maxim<s) 
                      {
                                  maxim=s;
                                  st=p;
                                  dr=i;
                      }
                      if (s<0)
                      {
                              s=0;
                              p=i+1;
                              }
                       }
    g<<maxim<<" "<<st<<" "<<dr<<"\n"; 
    f.close();
    g.close(); 
    return 0; 
    }