Cod sursa(job #3228268)
Utilizator | Data | 7 mai 2024 10:48:22 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[1000];
int main()
{
int n;
int st=0;
int S=0;
int max_st;
int max_dr;
int max_sum=0;
fin >> n;
for (int i=0 ; i < n; i++)
fin >> v[i];
for(int dr=0; dr < n; dr++){
S+=v[dr];
if (S < 0){
st=dr+1;
S=0;
}
if (S > max_sum){
max_sum=S;
max_st=st;
max_dr=dr;
}
}
fout << max_sum << " " << max_dr + 1 << " " << max_st + 1;
return 0;
}