Cod sursa(job #2284502)

Utilizator bmarcuBogdan Marcu bmarcu Data 17 noiembrie 2018 11:19:10
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");

int main ()
{
  int n;
  fin >> n;
  int x, dp[n+1], start[n+1];
  int maxi=0;
  fin >> x;
  dp[1]=x;
  start[1]=1;
  for (int i=2; i<=n; i++)
  {
    fin >> x;
    if (dp[i-1]>=0)
    {
      dp[i]=dp[i-1]+x;
      start[i]=start[i-1];
    }
    else
    {
      dp[i]=x;
      start[i]=i;
    }
    if (dp[i]>dp[maxi])
      maxi=i;
  }
  fout << dp[maxi] << " " << start[maxi] << " " << maxi;



}