#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int>v={100,100,100};
int n=v.size();
int p=1;
int k=3;
//int dp[n][k+1][n+1]={INT_MIN}; only initializes first element.
vector<vector<vector<int>>>dp(n,vector<vector<int>>(k+1,vector<int>(n+1,INT_MIN)));
for(int i=0;i<n;i++){
dp[i][0][0]=0;
}
dp[0][1][0]=v[0];
dp[1][1][0]=max(v[0],v[1]);
dp[1][2][0]=INT_MIN;
dp[1][2][1]=v[0]+v[1]-p;
for(int i=2;i<n;i++){
for(int j=1;j<=k;j++){
for(int c=0;c<=i;c++){
dp[i][j][c]=max({dp[i-1][j][c],v[i]+dp[i-2][j-1][c],v[i]+v[i-1]-p+dp[i-2][j-2][c-1]});
}
}
}
cout<<*max_element(dp[n-1][k].begin(),dp[n-1][k].end())<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICAgIAogICAgdmVjdG9yPGludD52PXsxMDAsMTAwLDEwMH07CiAgICBpbnQgbj12LnNpemUoKTsKICAgIGludCBwPTE7CiAgICBpbnQgaz0zOwogICAgLy9pbnQgZHBbbl1baysxXVtuKzFdPXtJTlRfTUlOfTsgb25seSBpbml0aWFsaXplcyBmaXJzdCBlbGVtZW50LgogICAgdmVjdG9yPHZlY3Rvcjx2ZWN0b3I8aW50Pj4+ZHAobix2ZWN0b3I8dmVjdG9yPGludD4+KGsrMSx2ZWN0b3I8aW50PihuKzEsSU5UX01JTikpKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIAogICAgICAgICAgICBkcFtpXVswXVswXT0wOwogICAgICAgIAogICAgfQogICAgZHBbMF1bMV1bMF09dlswXTsKICAgIGRwWzFdWzFdWzBdPW1heCh2WzBdLHZbMV0pOwogICAgZHBbMV1bMl1bMF09SU5UX01JTjsKICAgIGRwWzFdWzJdWzFdPXZbMF0rdlsxXS1wOwogICAgCiAgICBmb3IoaW50IGk9MjtpPG47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MTtqPD1rO2orKyl7CiAgICAgICAgICAgIGZvcihpbnQgYz0wO2M8PWk7YysrKXsKICAgICAgICAgICAgICAgIGRwW2ldW2pdW2NdPW1heCh7ZHBbaS0xXVtqXVtjXSx2W2ldK2RwW2ktMl1bai0xXVtjXSx2W2ldK3ZbaS0xXS1wK2RwW2ktMl1bai0yXVtjLTFdfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGNvdXQ8PCptYXhfZWxlbWVudChkcFtuLTFdW2tdLmJlZ2luKCksZHBbbi0xXVtrXS5lbmQoKSk8PGVuZGw7CiAgICAKICAgIHJldHVybiAwOwp9