Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int p, m, n, finalpos = -1;
- vector<int> g;
- void f(int pos, int i) {
- if (i == n) {
- finalpos = max(pos, finalpos);
- return;
- }
- int x = g[i];
- if (pos-x >= 0) {
- f(pos-x, i+1);
- }
- if (pos+x <= m) {
- f(pos+x, i+1);
- }
- }
- int main() {
- // std::ios::sync_with_stdio(false);
- // freopen("in.txt", "r", stdin);
- // freopen("out.txt", "w", stdout);
- cin >> p >> m >> n;
- g.resize(n);
- for (int i = 0; i < n; ++i) cin >> g[i];
- f(p, 0);
- cout << finalpos << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement