Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<algorithm>
- using namespace std;
- int optimalGameStrategy(int *a, int i, int j){
- if(i == j)
- return a[i];
- if(i == j+1)
- return max(a[i],a[j]);
- int piyush = max(a[i] + min(optimalGameStrategy(a, i + 2, j), optimalGameStrategy(a, i + 1, j - 1)) ,
- a[j] + min(optimalGameStrategy(a, i + 1, j - 1), optimalGameStrategy(a, i, j - 2)));
- return piyush;
- }
- int main(){
- int n;
- cin>>n;
- int *a = new int[n];
- for(int i = 0; i < n; i++)
- cin>>a[i];
- cout<<optimalGameStrategy(a, 0, n - 1);
- return 0;
- }
Add Comment
Please, Sign In to add comment