Pagini recente » Cod sursa (job #1590345) | Rating Aldea Truta Ivancu (P0ker) | Cod sursa (job #1682889) | Cod sursa (job #493463) | Cod sursa (job #991943)
Cod sursa(job #991943)
#include<cstdio>
#include <algorithm>
using namespace std;
int v[6000001], n, 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;
int dp = 0;
for (int i = 1; i <= n; ++i) {
if(dp + v[i] < v[i])
dp = v[i];
else dp = dp + v[i],
parent[i] = i - 1;
if(rez < dp)
rez = dp,
poz = i;
}
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();
}