Pagini recente » Cod sursa (job #2523382) | Cod sursa (job #225563) | Cod sursa (job #2379621) | Cod sursa (job #1073522) | Cod sursa (job #2560465)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main(){
int n;
f >> n;
int sum[n + 1] ={0};
int best[n + 1] = {0};
for( int i = 1; i <= n; i++ ){
f >> sum[i];
}
best[0] = 0;
best[1] = sum[1];
int maxsum = 0, indice = 0;
for(int i = 1; i <= n; i++ ){
best[i] = max( best[i-1] + sum[i], sum[i]);
if( maxsum < best[i]){
indice = i ;
maxsum = best[i];
}
}
int aux = 0, j;
for( j = indice; j >=0 && aux != maxsum ; j-- ){
aux += sum[j];
}
g << maxsum << " " << j + 1 << " " << indice;
}