Paste!
#include <bitset>
#include <cstdint>
#include <iostream>
int main() {
using namespace std;
int n;
cin >> n;
auto arr = new int[n];
for(int i = 0; i < n; i++)
cin >> arr[i];
bitset<200000> dp;
dp[0] = dp[arr[0]] = 1;
int64_t value = arr[0], ans = arr[0];
for(int i = 1; i < n; i++)
{
dp |= dp << arr[i];
value += arr[i];
if(dp[i])
{
ans = max(ans, value - i);
dp[i] = false;
}
}
cout << ans << endl;
delete[] arr;
return 0;
}
