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) {
        printf("Yes\n");
    } else {
        printf("No\n");
    }

    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