Cod sursa(job #2977245)
Utilizator | Chiriac Theodor TheChi | Data | 11 februarie 2023 09:57:44 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000002];
int main()
{
int N; fin>>N;
int suma=0, pozitie=0, suma_minima=0, suma_maxima=-2000000000, first, last;
for(int i=1;i<=N;i++){
fin>>a[i];
suma+=a[i];
if(suma - suma_minima > suma_maxima){
suma_maxima = suma - suma_minima;
first = pozitie + 1;
last = i;
}
if(suma < suma_minima){
suma_minima = suma;
pozitie = i;
}
}
fout<<suma_maxima<<" "<<first<<" "<<last;
fin.close();
fout.close();
}