Ganesh1648

Corona Warriors

Jun 27th, 2020
795
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define pb push_back
  6. #define vi vector<int>
  7. #define N 2e5 + 5
  8. #define f first
  9. #define s second
  10. #define all(x) x.begin(), x.end()
  11. #define forn(i, n) for (int i = 0; i < n; i++)
  12. #define ll long long
  13. #define init(arr) memset(arr, 0, sizeof(arr))
  14. #define endl "\n"
  15. #define mp make_pair
  16.  
  17.  int d,p;
  18.  int dp[11][21];
  19.  int eff[11][21];
  20.     int solve(int di,int pi)
  21.     {
  22.         if(pi==p)
  23.             return 0;
  24.  
  25.         if(dp[di][pi]!=-1)
  26.             return dp[di][pi];
  27.  
  28.         if(di==d-1)
  29.         {
  30.             int ans=0;
  31.             if(pi==0)
  32.                 ans=eff[di][p-1];    
  33.             else
  34.                 ans=eff[di][p-1]-eff[di][pi-1];
  35.             return dp[di][pi] = ans;    
  36.         }
  37.  
  38.         int ans = INT_MAX;
  39.         ans = min(solve(di+1,pi),ans);
  40.         for(int i=pi;i<p;i++)
  41.         {
  42.             int temp=0;
  43.             if(pi==0)
  44.                 temp=eff[di][i];
  45.             else
  46.                 temp=eff[di][i]-eff[di][pi-1];
  47.             ans = min(ans,min(temp+solve(di,pi+1),temp+solve(di+1,pi+1)));
  48.         }
  49.         return dp[di][pi] = (ans==INT_MAX)?0:ans;    
  50.     }
  51. int main()
  52. {
  53.     ios_base::sync_with_stdio(false);
  54.     cin.tie(NULL);
  55.     cout.tie(NULL);
  56.     cin>>p>>d;
  57.     for(int i=0;i<=10;i++)
  58.         for(int j=0;j<=20;j++){
  59.             dp[i][j]=-1;eff[i][j]=0;}
  60.    
  61.     for(int i=0;i<d;i++)
  62.     {
  63.         for(int j=0;j<p;j++)  
  64.             cin>>eff[i][j];
  65.         for(int j=1;j<p;j++)
  66.             eff[i][j]+=eff[i][j-1];    
  67.     }
  68.        
  69.     cout<<solve(0,0)<<endl;
  70. }
Add Comment
Please, Sign In to add comment