hashtables-ransome-note hackerrank solution

#include <cstdio>
#include <iostream>
#include <string>
#include <map>

using namespace std;

map<string, int> mag;
map<string, int> note;

int main() {
    int m, n;
    string word;
    scanf("%d %d", &m, &n);

    for (int i = 0; i < m; i++) {
        cin >> word;
        mag[word] ++;

    bool isDoable = true;

    for (int i = 0; i < n; i++) {
        cin >> word;
        if (isDoable) {
            if (mag.find(word) == mag.end() || mag[word] <= 0) {
                isDoable = false;
        mag[word] --;

    if (isDoable) {
    } else {

    return 0;

Arpit Bhayani

Arpit's Newsletter

CS newsletter for the curious engineers

❤️ by 14000+ readers

If you like what you read subscribe you can always subscribe to my newsletter and get the post delivered straight to your inbox. I write essays on various engineering topics and share it through my weekly newsletter.

Arpit's Newsletter read by 14000+ engineers

🔥 Thrice a week, in your inbox, an essay about system design, distributed systems, microservices, programming languages internals, or a deep dive on some super-clever algorithm, or just a few tips on building highly scalable distributed systems.

  • v10.6.4
  • © Arpit Bhayani, 2022