fork(6) download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n, k;
  8. cin >> n >> k;
  9. vector<int> a(n);
  10. for (int i = 0; i < n; ++i) cin >> a[i];
  11. string s;
  12. cin >> s;
  13. long long ans = 0;
  14. for (int i = 0; i < n; ++i)
  15. {
  16. int j = i;
  17. vector<int> vals;
  18. while (j < n && s[i] == s[j])
  19. {
  20. vals.push_back(a[j]);
  21. ++j;
  22. }
  23. sort(vals.rbegin(), vals.rend());
  24. ans += accumulate(vals.begin(), vals.begin() + min(k, int(vals.size())), 0ll);
  25. i = j - 1;
  26. }
  27. cout << ans << endl;
  28. return 0;
  29. }
Runtime error #stdin #stdout #stderr 0s 4476KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc