func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, l[2001], s[2001], c[4001];   int f[4001][2001];   int main() {     scanf( %d%d , &n, &m);     m += n;     for (int i = n; i >= 1; i -= 1) scanf( %d , &l[i]);     for (int i = n; i >= 1; i -= 1) scanf( %d , &s[i]);     for (int i = 1; i <= m; i += 1) scanf( %d , &c[i]);     for (int i = 1; i <= m; i += 1) {       for (int j = 1; j <= n; j += 1) f[i][j] = -1e9;     }     for (int i = 1; i <= n; i += 1) {       for (int j = n; j >= 1; j -= 1) {         f[l[i]][j] = max(f[l[i]][j], f[l[i]][j - 1] - s[i] + c[l[i]]);       }       for (int j = l[i]; j < m; j += 1) {         for (int k = 0; k <= (n >> j - l[i]); k += 1) {           f[j + 1][k >> 1] = max(f[j + 1][k >> 1], f[j][k] + c[j + 1] * (k >> 1));         }       }     }     printf( %d n , f[m][0]);     return 0;   }   