Cod sursa(job #2710633)
Utilizator | Data | 22 februarie 2021 20:03:17 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long maxi = -0x3f3f3f3f;
int beginx, endx;
int main()
{
long long sum = 0;
int x;
int n;
f >> n;
beginx = endx = 1;
for (int i = 1; i <= n; i++)
{
f >> x;
sum += x;
if (sum > maxi)
maxi = sum,endx=i;
if (sum < 0)
sum = 0,beginx=i+1;
}
g << maxi << " " << beginx << " " << endx;;
}