Pagini recente » Cod sursa (job #1613236) | Cod sursa (job #92186) | Cod sursa (job #641945) | Cod sursa (job #604390) | Cod sursa (job #1789408)
#include <fstream>
#define VECMAX 6000007
using namespace std;
int v[VECMAX], n, sol, dp[VECMAX], indice = 1;
ifstream in("ssm.in");
ofstream out("ssm.out");
void Read(){
in >> n;
for(int i = 1; i <= n; ++i)
in >> v[i];
}
void Solve(){
sol = dp[1] = v[1];
for(int i = 1; i <= n; ++i){
dp[i] = max(dp[i - 1] + v[i], v[i]);
if(sol < dp[i]){
sol = dp[i];
indice = i;
}
}
}
void Print(){
int i = indice, auxsum = sol;
while(auxsum || (v[i] == 0 && i != 0)){
auxsum -= v[i];
i--;
}
out << sol << " " << i + 1 << " " << indice << "\n";
}
int main(){
Read();
Solve();
Print();
return 0;
}