Cod sursa(job #1150453)

Utilizator sam09Muntean Sam sam09 Data 23 martie 2014 00:23:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.26 kb
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,n,k,j,a[60000000];
int bestSum, sum;

int index, inceput, sfarsit;
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
        f>>a[i];
    bestSum = a[1];
    for (i = 1; i <= n; ++ i)
    {
        if (sum < 0)
            sum = a[i], index = i;
        else
            sum += a[i];
        if (bestSum < sum)
        {
            inceput=index;
            bestSum = sum;
            sfarsit=i;
        }
    }
    g<<bestSum<<" "<<inceput<<" "<<sfarsit;
    return 0;

}



//
////40 p Infoarena
//#include <iostream>
//#include<fstream>
//using namespace std;
//ifstream f("ssm.in");
//ofstream g("ssm.out");
//int i,n,k,j,a[60000000];
//int sactu,maxi=-2000000000;
//int inceput, sfarsit;
//int main()
//{
//    f>>n;
//    for(i=1; i<=n; i++)
//        f>>a[i];
//
//    for(i=1; i<=n; i++)
//    {
//        sactu=0;
//        for(k=i; k<=n; k++)
//      {
//           sactu+=a[k];
//        if(sactu>maxi)
//        {
//            maxi=sactu;
//            inceput=i;
//            sfarsit=k;
//        }
//      }
//
//    }
//    g<<maxi<<" "<<inceput<<" "<<sfarsit<<'\n';
//
//    return 0;
//}