Pagini recente » Cod sursa (job #93597) | Cod sursa (job #141261) | Cod sursa (job #2768753) | Cod sursa (job #1158211) | Cod sursa (job #21754)
Cod sursa(job #21754)
#include <stdio.h>
#include <stdlib.h>
#define NMAX 200
int a[NMAX], n;
long sol[NMAX];
void read()
{
int i;
scanf("%d\n", &n);
for(i = 1; i <= n; ++i)
scanf("%d ", &a[i]);
}
void dinamic()
{
int i, j, next;
sol[1] = a[1];
for(i = 2; i <= n; ++i)
{
sol[i] = sol[i-1] + a[i];
for(j = i-1; j; --j)
{
next = abs(a[i]-a[j])*(i-j+1) + sol[j-1];
if(next > sol[i])
sol[i] = next;
}
}
}
void write()
{
printf("%ld\n", sol[n]);
}
int main()
{
freopen("reduceri.in", "r", stdin);
freopen("reduceri.out", "w", stdout);
read();
dinamic();
write();
fclose(stdin);
fclose(stdout);
return 0;
}