Cod sursa(job #2647067)

Utilizator Gliumarin negai Gliu Data 2 septembrie 2020 21:06:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#include <fstream>

using namespace std;
typedef long long ll;

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

int main(){
ll n;
in >>n;
for(int i=1;i<=n;i++)in >>dp[i]; 
for(int i=1;i<=n;i++){
	dp[i]+=dp[i-1];
	if(mx<dp[i]-mn){
		mx=dp[i]-mn;
		ii=i;
		jj=idx+1;
	}
	if(dp[i]<mn){
		mn=dp[i];
		idx=i;
	}
}
out <<mx<<" "<<jj<<" "<<ii;
return 0;
}