Cod sursa(job #1099209)

Utilizator DantePlop Daniel Dante Data 5 februarie 2014 17:28:23
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 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()-1; ++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;
	}    
    }
  }
  /*for(std::vector<int>::iterator it=_sum.begin(); it!=_sum.end(); ++it){
    fout<<*it<<" ";
    //    seq.pop_back();
}
  fout<<endl;
*/
  fout<<max<<" "<<++ss<<" "<<++se<<" "<<endl;
  return 0;
}