Lỗi Runtime Error (Segmentation Fault) khi sử dụng std::map (30DOC - Day 8)

Em đang học về library map của C++ và có thử làm đề này trên Hackerank. Nhưng mà thử chạy thì nó báo lỗi Runtime Error (Segmentation Fault). Em nghĩ là mình dính lỗi ở phần con trỏ nhưng không biết sửa thế nào.

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */  
    map<string, long long>mp;
    map<string, long long>::iterator it;
    int n;
    cin >> n;
    for (int i=1; i<=n; i++){
        string name;
        cin >> name;
        long long phoneN;
        cin >> phoneN;
        mp[name]=phoneN;
    }
    
    for (int i=1; i<=n; i++){
        string inp;
        cin >> inp;
        it=mp.find(inp);
        if (it==mp.end()) cout << "Not found" << endl;
        else cout << it->first << "=" << it->second << endl;
    }
    
    return 0;
}

Nếu tìm thấy thì in Not found hả?

À không đoạn đấy em nhầm ạ TT

Sửa xong thì em submit thử code chạy ok rồi nhưng nó vẫn bị lỗi 1 test case
Output của em nó ra thế này, cơ mà lắm số quá em nhìn chả biết sai ở đâu cả @@

1 Like

Đọc lại đề nào :slight_smile:

After the n lines of phone book entries, there are an unknown number of lines of queries. Each line (query) contains a name to look up, and you must continue reading lines until there is no more input.

6 Likes

Thanks anh em sửa được rồi ạ!!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?