Cod sursa(job #3164380)

Utilizator Ayan__bAyan Bozesan Ayan__b Data 2 noiembrie 2023 23:47:05
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
    int N;
    f>>N;
    int a[N];
    for (int i = 1; i <= N; i++)
        f >> a[i];
    long long sum;
    long long summax;
    int st = 1;
    int dr = 1;
    int m = 1;
    sum = a[1];
    summax = a[1];
    if(sum<0)
    {
        st=2;
        dr=2;
        m = 2;
        sum = 0;
    }
    for(int i = 2; i <= N; i++)
    {
        sum = sum + a[i];
        if(sum > summax)
        {
            st = m;
            dr = i;
            summax = sum;
        }
        if(sum < 0)
        {
            st= i+1;
            dr = i + 1;
            sum = 0;
            m = i + 1;
        }

    }
    g << summax << " " << st << " " << dr;


}