Cod sursa(job #2041470)

Utilizator LucaSeriSeritan Luca LucaSeri Data 17 octombrie 2017 13:04:06
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

int main(){
    int n;
    f >> n;
    int p, bestp, bestu, maxim = -1, sum = -1;
    for(int i = 0; i < n;++i){
        int x;
        f >> x;
        if(x > sum+x){
            if(sum > maxim){
                maxim = sum;
                bestp = p;
                bestu = i-1;
            }
            p = i;
            sum = x;
        }
        else{
            if(sum > maxim){
                maxim = sum;
                bestp = p;
                bestu = i-1;
            }
            sum += x;
        }
    }

    g <<maxim << ' ' << bestp+1<< ' ' << bestu+1;
}