Cod sursa(job #2926571)

Utilizator LukyenDracea Lucian Lukyen Data 18 octombrie 2022 00:04:59
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
  cin.rdbuf(fin.rdbuf());
  cout.rdbuf(fout.rdbuf());

  tuple<int, int, int> minn(0, 0, 0), maxx(INT_MIN, 0, 0);
  int sum = 0;

  int n, x;
  cin >> n;

  for (int i = 1; i <= n; i++)
  {
    cin >> x;

    sum += x;
    if (sum - get<0>(minn) > get<0>(maxx))
      maxx = make_tuple(sum - get<0>(minn), get<1>(minn) + 1, i);

    if (sum < get<0>(minn))
      minn = make_tuple(sum, i, i);
  }

  cout << get<0>(maxx) << " " << get<1>(maxx) << " " << get<2>(maxx);

  return 0;
}