Pagini recente » Cod sursa (job #49667) | Cod sursa (job #1667384) | Cod sursa (job #2147627) | Cod sursa (job #1268164) | Cod sursa (job #991939)
Cod sursa(job #991939)
#include<cstdio>
#include <algorithm>
using namespace std;
int v[6000001], n, dp[2],parent[600001];
void citire(){
freopen("ssm.in", "r", stdin);
scanf("%d ",&n);
for(int i = 1; i <= n; ++i)
scanf("%d ",&v[i]);
}
void solve(){
//cu ce incepem?:))
// pai dp[0] = 0, dar asta e deja, deci facem direct dp[i]
// calculezi dp[i]
int rez = 0, poz = 0, x = 0;
for (int i = 1; i <= n; ++i) {
if(dp[0] + v[i] < v[i])
dp[1] = v[i];
else dp[1] = dp[0] + v[i],
parent[i] = i - 1;
if(rez < dp[1])
rez = dp[1],
poz = i;
dp[0] = dp[1];
}
printf ("%d ", rez);
x = poz;
while(parent[x])
x = parent[x];
printf("%d %d\n", x, poz);
}
int main(){
freopen("ssm.out", "w", stdout);
citire();
solve();
}