Cod sursa(job #3252777)
| Utilizator | Data | 30 octombrie 2024 23:50:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");
int v[100],sp[100];
int main()
{
int N;
fi>>N;
for(int i=1;i<=N;i++){
fi>>v[i];
}
sp[1]=v[1];
for(int j=2;j<=N;j++){
sp[j]=sp[j-1]+v[j];
}
int smax=-200000,st=1,dr=N;
for(int i=1;i<=N;i++){
for(int j=i;j<=N;j++){
int S=sp[j]-sp[i-1];
if(S>smax){
smax=S;
st=i;
dr=j;
}
}
}
fo<<smax<<" "<<st<<" "<<dr;
}
