Language: C++

#include <bits/stdc++.h>
#define be(v) (v).begin(),(v).end()
#define pb(q) push_back(q)
typedef long long ll;
using namespace std;
const ll mod=1000000007, INF=(1LL<<60);
#define doublecout(a) cout<<fixed<<setprecision(10)<<a<<endl;

int main() {
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(false);
    ll h, w, k;
    cin >>h >> w >> k;
    ll x1, y1, x2, y2;
    cin >> x1 >> y1 >> x2 >> y2;
    x1--, y1--, x2--, y2--;
    string s[h];
    for(int i=0;i<h;i++){
    	cin >> s[i];
    }
    multiset<pair<pair<ll, pair<ll, ll> > , pair<ll ,ll > > > ms;
    vector<vector<vector<pair<ll, ll> > > > dis(h, vector<vector<pair<ll ,ll> > > (w, vector<pair<ll, ll> > (2,{INF, 0})));
    ms.insert({{0, {0, 0}},{x1, y1}});
    ms.insert({{0, {0, 1}},{x2, y2}});
    ll dx[4] = {-1,0,0,1}, dy[4] = {0,-1,1,0};
    while(!ms.empty()){
    	pair<ll, pair<ll, ll> > niko = ms.begin().first;
    	pair<ll, ll> maki = ms.begin().second;
    	ms.erase(ms.begin());
    	pair<ll, ll> pos = niko.second;
    	if(dis[maki.first][maki.second][pos.second].first < niko.first || (dis[maki.first][maki.second][pos.second].first == niko.first && dis[maki.first][maki.second][pos.second].second < pos.first)) continue;
    	for(int i=0;i<4;i++){
    		ll x = dx[i] + maki.first;
    		ll y = dy[i] + maki.second;
    		if(x < 0 || x >= h || y < 0 || y >= w || s[x][y] == '@') continue;
    		if((i == 1 || i == 2) ^ pos.second) {
    			if(pos.first == k){
    				//
    			}else{
    				//
    			}
    		}else{
    			
    		}
    	}
    }
    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:28:51: error: 'std::multiset<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >::iterator' {aka 'std::_Rb_tree<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> >, std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> >, std::_Identity<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >, std::less<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >, std::allocator<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > > >::const_iterator'} has no member named 'first'
   28 |         pair<ll, pair<ll, ll> > niko = ms.begin().first;
      |                                                   ^~~~~
a.cc:29:40: error: 'std::multiset<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >::iterator' {aka 'std::_Rb_tree<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> >, std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> >, std::_Identity<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >, std::less<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > >, std::allocator<std::pair<std::pair<long long int, std::pair<long long int, long long int> >, std::pair<long long int, long long int> > > >::const_iterator'} has no member named 'second'
   29 |         pair<ll, ll> maki = ms.begin().second;
      |                                        ^~~~~~