Cod sursa(job #2913865)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 17 iulie 2022 15:09:32
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>

const int max_n = 600005;
const int inf = 2000000000; // 32 biti - 1 bit pt semn, 31 pt valoare, [-2^31, 2^31 - 1]

int n;
int sum_max = -inf, st, dr, sum_min, pos_min, sum, x;

int main() {
  freopen("ssm.in", "r", stdin);
  freopen("ssm.out", "w", stdout);

  scanf("%d", &n);

  for(int i = 1; i <= n; i++) {
    scanf("%d", &x);
    sum += x;

    if(sum - sum_min > sum_max) {
      sum_max = sum - sum_min;
      st = pos_min + 1;
      dr = i;
    }

    if(sum < sum_min) {
      sum_min = sum;
      pos_min = i;
    }
  }

  printf("%d %d %d\n", sum_max, st, dr);

  return 0;
}