Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define pb push_back
- int main()
- {
- ll int n, m;
- cin>>n>>m;
- vector<ll int> a(m);
- for(auto &e: a) cin>>e;
- vector<string> s(n);
- for(auto &e: s) cin>>e;
- multiset<ll int> mst;
- vector<ll int> v;
- ll int xx = 0;
- for(auto e: s)
- {
- ll int c = (++xx);
- for(int i=0; i<m; i++)
- {
- if(e[i] == 'o')
- c += a[i];
- }
- mst.insert(c);
- v.pb(c);
- }
- multiset<ll int> tmp;
- for(int i=0; i<n; i++)
- {
- mst.erase(mst.find(v[i]));
- tmp.clear();
- for(int j=0; j<m; j++)
- {
- if(s[i][j] == 'x')
- tmp.insert(a[j]);
- }
- ll int c = v[i];
- ll int ans = 0;
- while(c <= *mst.rbegin())
- {
- ans++;
- c += *tmp.rbegin();
- tmp.erase(--tmp.end());
- }
- mst.insert(v[i]);
- cout<<ans<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment