Cod sursa(job #3324612)
| Utilizator | Data | 22 noiembrie 2025 18:13:39 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.84 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n;
int v[6000005];
int main()
{
cin>>n;
for(int i = 1; i<=n; i++)
{
cin>>v[i];
}
int smax = v[1];
int st = 1;
int dr = 1;
for(int i = 1; i<=n; i++)
{
int sum = 0;
for(int j = i; j<=n; j++)
{
sum += v[j];
if(sum > smax)
{
smax = sum;
st = i;
dr = j;
}
else if(sum == smax && i < st)
{
st = i;
dr = j;
}
else if(sum == smax && i == st && j < dr)
{
dr = j;
}
}
}
cout<<smax<<" "<<st<<" "<<dr;
return 0;
}
