Cod sursa(job #2032492)

Utilizator Alexandru_StoianStoian Sorin Alexandru Alexandru_Stoian Data 5 octombrie 2017 09:25:37
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream f ( "secv2.in" );
ofstream g ( "secv2.out" );

int n, a[ 50001 ], i, minn, bestsum, best[ 50001 ], sum[ 50001 ],st, dr1, dr, k;

int main()
{
    f >> n >> k;
    for (i = 1; i <= n; ++i){
        f >> a[ i ];
    }
    sum[ 0 ] = 0;
    for (i = 1; i <= n; i++) sum[ i ] = a[ i ] + sum[ i - 1 ];
    minn = sum[ 0 ];
    bestsum = -INT_MAX;
    for (i = 1; i <= n; i++) {
        best[ i ] = sum[ i ] - minn;
        if (minn > sum[ i ]){
            minn = sum[ i ];
            dr1 = i + 1;
        }
        if (bestsum < best[ i ]) {
                bestsum = best[ i ];
                st = i;
                dr = dr1;
        }
    }
    g << dr << " " << st << " " << bestsum;
    return 0;
}