Salut!
Am incercat sa fac problema
http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=510 Am implementat-o dupa indicatiile de rezolvare:
#include<fstream>
using namespace std;
int main()
{
fstream f,g;
f.open("tren1.in",ios::in);
g.open("tren1.out",ios::out);
int n,sum[50000],m,x,i,j,k=3;
long long s[50000][3];
f>>n;
sum[0]=0;
for(i=1; i<=n; i++)
{
f>>x;
sum[i]=sum[i-1]+x;
}
f>>m;
for(i=1; i<=m; i++)
for(j=1; j<=k; j++)
s[i][j]=sum[i];
for(i=m+1; i<=n; i++)
for(j=1; j<=k; j++)
{
s[i][j]=s[i-1][j];
if(s[i-1][j]<s[i-m][j-1]+sum[i]-sum[i-m])
s[i][j]=s[i-m][j-1]+sum[i]-sum[i-m];
}
g<<s[n][k];
}
La unele dintre teste imi apare "Killed by signal: 11"...din cate stiu eu se refera la memorie. Daca declar s[50000][4] imi apare mesajul de mai sus...daca declar mai putin (s[500][4]) nu imi ia testele...chiar nu stiu cum sa fac

. Imi puteti da un sfat va rog?

Multumesc !