Cod sursa(job #2647033)

Utilizator Gliumarin negai Gliu Data 2 septembrie 2020 18:47:05
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;
typedef long long ll;

ifstream in("ssm.in");
ofstream out("ssm.out");
ll dp[2][1<<23],sum,ii,jj,mx=-1<<29;

int main(){
ll n;
in >>n;
for(int i=0;i<n;i++){
	in >>dp[0][i];
}
for(int i=0;i<n;i++){
	sum=0;
	mx=-1<<29;
	for(int j=i;j<n;j++){
		sum+=dp[0][j];
		
	 if(sum>mx){
	 	mx=sum;
	 	ii=i;
	 	jj=j;
	 }
	}
	if(mx>dp[1][0]){
	dp[1][0]=mx;
	dp[1][1]=ii;
	dp[1][2]=jj;
		
	}
}
out <<dp[1][0]<<" "<<++dp[1][1]<<" "<<++dp[1][2]<<"\n";


return 0;
}