auto r = m->second.find( dest );
if( r != m->second.end( ) )
{
- auto e = std::find( r->second.begin( ), r->second.end( ), cost );
+ auto e = r->second.end( );
+ for(
+ auto i = r->second.begin( );
+ i != r->second.end( ) && e == r->second.end( );
+ ++i
+ )
+ if( *i == cost )
+ e = i;
if( e != r->second.end( ) )
{
r->second.erase( e );