Cod sursa(job #2743349)
Utilizator | Maruseac Roman Roman70 | Data | 22 aprilie 2021 20:49:23 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 5 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.79 kb |
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("ssm.in", "r",stdin);
freopen("ssm.out", "w", stdout);
int n;
cin>>n;
int a[n];
int x = 0,y = 0;
for(int i = 0;i<n;i++)
cin>>a[i];
int maxi = a[0];
int sum = 0;
for(int i = 0;i<n;i++)
{
if(a[i]<0)
if(a[i]>maxi)
{
maxi = a[i];
x = i;
y = i;
}
else
{
for(int j = n-1;j>=i;j--)
{
sum = 0;
for(int x = i;x<=j;x++)
{
sum+=a[x];
}
if(sum>maxi)
{
maxi = sum;
x = i;
y = j;
}
}
}
}
cout<<maxi<<" "<<x+1<<" "<<y+1;
return 0;
}