Cod sursa(job #2474731)

Utilizator bmarcuBogdan Marcu bmarcu Data 15 octombrie 2019 19:24:52
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout ("ssm.out");

int dp[6000001];
int s[6000001];

void intSum (int n) {
    for (int i = 1; i <= n; i++) {
        dp[i] =  dp[i] + (dp[i - 1] > 0? dp[i - 1] : 0 );
        s[i] = (dp[i - 1] > 0? s[i-1]: i);
    }
}


void input (int &n) {
  fin >> n;
  for (int i = 1; i <= n; i++)
    fin >> dp[i];
}


int main () {
  int n;
  input(n);
  intSum(n);
  int maxi = 1;

    for(int i = 1; i <= n; i++)
        if(dp[maxi] < dp[i]) maxi = i;
    fout << dp[maxi] << ' ' << s[maxi] << ' ' << maxi;

}