Cod sursa(job #3189581)

Utilizator matyaskrizbaiKrizbai Matyas matyaskrizbai Data 6 ianuarie 2024 10:50:28
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
#include <climits>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main() {
  int n;
  fin >> n;
  vector<int> v(n);
  for(int i=0; i<n; i++) {
    fin >> v[i];
  }
  int maxossz=INT_MIN, ossz=0, maxhossz=-1, hossz=0, dr;
  for(int i=0; i<n; i++) {
    ossz+=v[i];
    hossz++;
    if(ossz<0) {
      ossz=0;
      hossz=0;
    }
    else {
      if(ossz>maxossz) {
        maxossz=ossz;
        maxhossz=hossz;
        dr=i;
      }
    }
  }
  fout << maxossz << ' ' << dr-maxhossz+2 << ' ' << dr+1;
  return 0;
}