Cod sursa(job #2325606)

Utilizator daru06Daria Culac daru06 Data 22 ianuarie 2019 19:38:33
Problema Subsecventa de suma maxima Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <fstream>
#define nmax 7000005
using namespace std;

int sp,mini,maxi=-2e9,imax,rez,p12;
bool ok;
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    ///sol de 100p
//    int p1,p2;
//    p1=p2=1;
//    int n,a;
//    f>>n;
//    for(int i=1;i<=n;i++)
//        {
//            f>>a;
//            sp+=a;
//            if(a>=0)
//                ok=true;
//            if(a>=maxi)
//                maxi=a, imax=i;
//            if(sp<mini)
//                mini=sp, p1=i+1;
//            else
//                if(sp-mini>rez)
//                rez=sp-mini, p2=i, p12=p1;
//
//        }
//    if(!ok)
//        g<<maxi<<" "<<imax<<" "<<imax;
//    else
//        g<<rez<<" "<<p12<<" "<<p2;
    int n,a[nmax];
    f>>n;
    int s=0;
    int p1,p2;
    for(int i=1;i<=n;i++) f>>a[i];
    for(int i=1;i<=n;i++)
        for(int j=i;j<=n;j++)
    {
        s=0;
        for(int k=i;k<=j;k++)
            s+=a[k];
        if(s>=maxi)
        maxi=s, p1=i, p2=j;
    }
    g<<maxi<<" "<<p1<<" "<<p2;
    f.close();
    g.close();
    return 0;
}