Cod sursa(job #3267642)
Utilizator | Data | 11 ianuarie 2025 17:51:02 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n, suma=0, max_suma=-2147483648, st=1, max_st=1, max_dr=1;
cin >> n;
cin >> suma;
for(int i=2; i<=n; i++)
{
int s;
cin >> s;
if(suma>max_suma)
{
max_suma=suma;
max_dr=i-1;
max_st=st;
}
if(suma+s<0)
{
suma=s;
st=i;
}
else
suma+=s;
}
cout << max_suma << " " << max_st << " " << max_dr;
return 0;
}