Advertisement
shamiul93

pie rules anik da

Dec 1st, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define MAX 55
  4.  
  5. bool vis[2][MAX];
  6. int dp[2][MAX];
  7. int A[MAX];
  8. int n;
  9.  
  10. int solve(int i,int pl){
  11.     if(i==n){
  12.         if(pl==0) return A[i];
  13.         else return 0;
  14.     }
  15.  
  16.     if(vis[i][pl]==1) return dp[i][pl];
  17.     vis[i][pl]=1;
  18.  
  19.     if(pl==0){
  20.         int ret1=A[i]+solve(i+1,1);
  21.         int ret2=solve(i+1,0);
  22.         return dp[i][pl]=max(ret1,ret2);
  23.     }
  24.     else{
  25.         int ret1=solve(i+1,0);
  26.         int ret2=A[i]+solve(i+1,1);
  27.         return dp[i][pl]=min(ret1,ret2);
  28.     }
  29. }
  30.  
  31. int main(){
  32.     scanf("%d",&n);
  33.  
  34.     int sum=0;
  35.     for(int i=1;i<=n;i++){
  36.         scanf("%d",&A[i]);
  37.         sum+=A[i];
  38.     }
  39.  
  40.     int ret=solve(1,0);
  41.     cout<<sum-ret<<" "<<ret<<endl;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement