Ankit_132

C

Oct 8th, 2023
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll     long long
  6. #define pb     push_back
  7.  
  8. int main()
  9. {
  10.     ll int n, m;
  11.     cin>>n>>m;
  12.  
  13.     vector<ll int> a(m);
  14.     for(auto &e: a)   cin>>e;
  15.    
  16.     vector<string> s(n);
  17.     for(auto &e: s)   cin>>e;
  18.  
  19.     multiset<ll int> mst;
  20.  
  21.     vector<ll int> v;
  22.  
  23.     ll int xx = 0;
  24.  
  25.     for(auto e: s)
  26.     {
  27.         ll int c = (++xx);
  28.  
  29.         for(int i=0; i<m; i++)
  30.         {
  31.             if(e[i] == 'o')
  32.                 c += a[i];
  33.         }
  34.  
  35.         mst.insert(c);
  36.         v.pb(c);
  37.     }
  38.  
  39.     multiset<ll int> tmp;
  40.  
  41.     for(int i=0; i<n; i++)
  42.     {
  43.         mst.erase(mst.find(v[i]));
  44.         tmp.clear();
  45.  
  46.         for(int j=0; j<m; j++)
  47.         {
  48.             if(s[i][j] == 'x')
  49.                tmp.insert(a[j]);
  50.         }
  51.  
  52.         ll int c = v[i];
  53.         ll int ans = 0;
  54.  
  55.         while(c <= *mst.rbegin())
  56.         {
  57.             ans++;
  58.             c += *tmp.rbegin();
  59.             tmp.erase(--tmp.end());
  60.         }
  61.  
  62.         mst.insert(v[i]);
  63.  
  64.         cout<<ans<<"\n";
  65.     }
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment