Help me in solving TRAVELER problem

My issue

can anyone check the case i m missing
its not running for case 3 private

My code

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

int main() {
	// your code goes here
	int t;
	cin>>t;
	vector<string> cityList;
	while(t--){
	    string temp;
	    cin>>temp;
	    cityList.push_back(temp);
	}
	int links_count;
	cin>>links_count;
	map<pair<string,string>,int> links_mp;
	while(links_count--){
	    string from,to;
	    int dis;
	    cin>>from>>to>>dis;
	    links_mp[{from,to}]=dis;
	}
	int queries;
	cin>>queries;
	while(queries--){
	    int q;
	    int distance=0;
	    vector<string> travelled_city;
    	cin>>q;
    	q--;
    	string from;
    	cin>>from;
    	travelled_city.push_back(from);
    	bool flag=true;
    	while(q--){
    	    string to;
    	    cin>>to;
    	    auto it = find(travelled_city.begin(), travelled_city.end(), to);
            if(it != travelled_city.end()){
                flag=false;
            }
    	    else if(links_mp.find({from,to})!=links_mp.end()){
                distance+=links_mp[{from,to}];
                travelled_city.push_back(to);
                from=to;
            }
            else if(links_mp.find({from,to})==links_mp.end()){
                flag=false;
            }
    	}
    	if(flag)
    	    cout<<distance<<endl;
    	else
    	    cout<<"ERROR"<<endl;
	}
	
	return 0;
}

Problem Link: TRAVELER Problem - CodeChef