Cod sursa(job #3189585)

Utilizator matyaskrizbaiKrizbai Matyas matyaskrizbai Data 6 ianuarie 2024 10:53:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 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 maxhossz=-1, hossz=0, dr;
  long long maxossz=LLONG_MIN, ossz=0;
  for(int i=0; i<n; i++) {
    ossz+=v[i];
    hossz++;
    if(ossz>maxossz) {
      maxossz=ossz;
      maxhossz=hossz;
      dr=i;
    }
    if(ossz<0) {
      ossz=0;
      hossz=0;
    }
  }
  fout << maxossz << ' ' << dr-maxhossz+2 << ' ' << dr+1;
  return 0;
}