Pagini recente » Cod sursa (job #2223366) | Cod sursa (job #2054712) | Cod sursa (job #2752570) | Cod sursa (job #228413) | Cod sursa (job #2831921)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
class Info{
public:
int sum;
int left;
};
int n;
vector<int> v;
vector<Info> dp;
void read(){
cin>>n;
v.resize(n+1);
dp.resize(n+1);
for(int i=1;i<=n;i++){
cin>>v[i];
}
}
void solve(){
dp[1].sum=v[1];
dp[1].left=1;
int sumMax=0,pozMax=0;
for(int i=2;i<=n;i++){
dp[i].sum=v[i];
dp[i].left=i;
if(dp[i].sum<dp[i-1].sum+v[i]){
dp[i].sum=dp[i-1].sum+v[i];
dp[i].left=dp[i-1].left;
}
(sumMax<dp[i].sum)?sumMax=dp[i].sum,pozMax=i:NULL;
}
cout<<sumMax<<" "<<dp[pozMax].left<<" "<<pozMax;
}
int main() {
read();
solve();
return 0;
}