Cod sursa(job #1099661)

Utilizator DantePlop Daniel Dante Data 6 februarie 2014 02:29:24
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

ofstream fout("ssm.out");
ifstream fin("ssm.in");
int main(){
  
  int n,m,sum=0,max,ss,se,vsum=0;
  vector<int> seq;
  vector<int> _sum;	
  fin>>n;
  for(int i=0; i<n; ++i){
    fin>>m;
    seq.push_back(m);
    vsum+=m;
    _sum.push_back(vsum);
  }
  max=seq[0];
  for(int i=0; i<seq.size(); ++i){
    for(int j=i+1; j<seq.size(); ++j){
	sum = _sum[j]-_sum[i]+seq[i];
	if(sum > max){
	   max = sum;
	   ss  = i;
	   se  = j;
	}
	sum=0;    
    }
  }
  fout<<max<<" "<<++ss<<" "<<++se<<" "<<endl;
  fout.close();
  fin.close();
  return 0;
}