Cod sursa(job #1313271)

Utilizator asavoaeigeoAsavoaei Georgiana asavoaeigeo Data 10 ianuarie 2015 14:54:39
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int dp[6000003], in[6000003];
int main()
{
    int n,i,x,max=0,min=0,c=0;
    fin>>n;
    fin>>x;
    dp[1]=x; in[1]=1;
    for(int i=2;i<=n;i++)
    { fin>>x;
     if(dp[i-1]+x>=x)
              {dp[i]=dp[i-1]+x;
              in[i]=in[i-1];
              }
     else {dp[i]=x;in[i]=i;}
    }
    max=dp[1]; min=in[1];
    for(i=2;i<=n;i++)
      if(dp[i]>max) {max=dp[i]; min=in[i]; c=i;}
    fout<<max<<" "<< min<<" "<<c;
    return 0;
}