Cod sursa(job #1359608)

Utilizator DobosDobos Paul Dobos Data 25 februarie 2015 00:03:39
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
deque <int> v;

int main()
{

     int i,mx=0,s=0,n,fi=0,ok=0,k=0,kmax=0,x=0;
     f>>n;
     v.push_back(0);
     for(i=1;i<=n;i++)
        {
            f>>x;
            v.push_back(x);
        }
     for(i=1;i<=n;i++)
     {

             s=s+v[i];
                k++;

        if(s<0)
        {
              s=0;
              k=0;
        }

         if(s>mx)
         {
             mx=s;
             fi=i;
            kmax=k;


         }

     }

   if(mx==0 && fi==0){
            mx=v[1];
            kmax=1;
        for(i = 1 ; i <= n ; i++){
            if(mx < v[i]){
            mx = v[i];
            fi = i;
            }
        }
        }

     g<<mx<<" "<<fi-kmax+1<<" "<<fi;

    return 0;
}