Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdio>
- #include<cassert>
- #include<cstring>
- #include<ctime>
- #include<cstdlib>
- #include<cmath>
- #include<string>
- #include<sstream>
- #include<map>
- #include<set>
- #include<queue>
- #include<stack>
- #include<vector>
- #include<bitset>
- #include<algorithm>
- #define pb push_back
- #define ppb pop_back
- #define mp make_pair
- #define all(x) (x).begin(),(x).end()
- #define sz(x) (int)(x).size()
- #define ll long long
- #define bit __builtin_popcountll
- #define sqr(x) (x) * (x)
- #define forit(it,S) for(__typeof((S).begin()) it = (S).begin(); it != (S).end(); it++)
- #define debug(x) cout << #x <<" = " << x << endl
- #define forn(i, n) for(int i = 0 ; (i) < (n) ; ++i)
- #define printvpair(v) for(int i = 0 ; (i) < (v.size()) ; ++i) cout << v[i].first <<" " << v[i].second << endl;
- #define printv(v) for(int i = 0 ; (i) < (v.size()) ; ++i) cout << v[i] << " "; cout << endl;
- using namespace std;
- typedef pair<int, int> pii;
- const double eps = 1e-9;
- const double pi = acos(-1.0);
- const int INF = 1000000000;
- const int dx[4] = {0, 0, 1, -1};
- const int dy[4] = {1, -1, 0, 0};
- const int N = 100000;
- void solve(){
- int n,m;
- string s;
- cin >> n >> m;
- vector<int> a(n),b(m);
- forn(i,n) cin >> a[i];
- forn(i,m) cin >> b[i];
- cin >> s;
- sort(all(a)); reverse(all(a));
- sort(all(b));
- int p1,p2;
- p1 = p2 = 0;
- int bankMoney = 0;
- int ans = 0;
- for(int i = 0; i < s.length(); i++){
- if (s[i] == '+'){
- bankMoney += a[p1];
- p1++;
- }
- else {
- if (bankMoney >= b[p2]){
- bankMoney -= b[p2];
- }
- else {
- ans++;
- }
- p2++;
- }
- }
- //debug(ans);
- cout << ans << endl;
- }
- int main() {
- ios_base::sync_with_stdio(0);
- int t;
- cin >> t;
- while(t--) solve();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement