Submission #476861

#TimeUsernameProblemLanguageResultExecution timeMemory
476861ogibogi2004Shymbulak (IZhO14_shymbulak)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long const ll MAXN=2e5+6; const ll INF=2e9; ll par[MAXN],n,depth[MAXN]; vector<ll>g[MAXN]; vector<ll>cycle; bool vis[MAXN]; bool found; ll x1,x2; ll cycle_size; pair<ll,ll> maxd[MAXN]; pair<ll,ll> maxdist1,maxdist2; void find_cycle(ll u,ll p) { par[u]=p; for(auto xd:g[u]) { if(par[xd]==0) { depth[xd]=depth[u]+1; find_cycle(xd,u); } else if(xd!=par[u]&&!found) { x1=u; x2=xd; found=1; } } } void make_cycle() { if(depth[x1]<depth[x2])swap(x1,x2); cycle.push_back(x1); for(;;) { x1=par[x1]; cycle.push_back(x1); if(x1==x2)break; } } void dfs1(ll u) { pair<ll,ll> ansu; ansu={0,0}; vis[u]=1; vector<pair<ll,ll> >farthest; for(auto xd:g[u]) { if(vis[xd])continue; dfs1(xd); farthest.push_back({maxd[xd].first+1,maxd[xd].second}); } sort(farthest.rbegin(),farthest.rend()); map<ll,ll> mpmp; if(farthest.size()>=2) { for(auto xd:farthest)mpmp[xd.first]+=xd.second; ansu.first=farthest[0].first+farthest[1].first; if(farthest[0].first==farthest[1].first) { for(ll i=0;i<farthest.size();i++) { if(farthest[i].first!=farthest[0].first)break; ansu.second+=farthest[i].second*(mpmp[farthest[i].first]-farthest[i].second); } } else { ansu.second=mpmp[farthest[0].first]*mpmp[farthest[1].first]; } } //cout<<u<<" "<<ansu.first<<" "<<ansu.second<<endl; if(ansu.first>maxdist2.first) { maxdist2.first=ansu.first;maxdist2.second=0; } if(ansu.first==maxdist2.first) { maxdist2.second+=ansu.second; } } pair<ll,ll> calc(ll u) { vis[u]=1; pair<ll,ll> ret={0,1}; for(auto xd:g[u]) { if(vis[xd])continue; pair<ll,ll> f=calc(xd); f.first++; if(f.first==ret.first)ret.second+=f.second; else if(f.first>ret.first)ret=f; } return maxd[u]=ret; } ll ans; ll val1[2*MAXN],val2[2*MAXN]; map<ll,ll> mp1; map<ll,ll> mp2; ll w[512][512],ww[512][512]; int which1[MAXN]; void dfs1000(int u,int c) { which1[u]=c;vis[u]=1; for(auto xd:g[u]) { if(vis[xd])continue; dfs1000(xd,c); } } int main() { maxdist1={0,0}; maxdist2={0,0}; cin>>n; for(ll i=1;i<=n;i++) { ll x,y; cin>>x>>y; g[x].push_back(y); g[y].push_back(x); } find_cycle(1,-1); make_cycle(); cycle_size=cycle.size(); for(ll i=0;i<cycle_size;i++) { //cout<<cycle[i]<<" "; cycle.push_back(cycle[i]); } for(int i=1;i<=n;i++) { memset(vis,0,sizeof(vis)); w[i][i]=0; ww[i][i]=1; vis[i]=1; queue<int>q; q.push(i); while(!q.empty()) { int u=q.front();q.pop(); for(auto xd:g[u]) { if(vis[xd]) { if(w[i][xd]==w[i][u]+1) { ww[i][xd]+=ww[i][u]; } continue; } vis[xd]=1; w[i][xd]=w[i][u]+1; ww[i][xd]=ww[i][u]; q.push(xd); } } } //cout<<endl; ll t=cycle_size/2; for(ll i=1;i<=cycle_size;i++) { vis[cycle[i]]=1; } for(ll i=1;i<=cycle_size;i++) { calc(cycle[i]); } multiset<ll>s1; for(ll i=0;i<cycle_size*2;i++) { val1[i]=-i+maxd[cycle[i]].first; val2[i]=i+maxd[cycle[i]].first; } for(ll i=0;i<t;i++) { s1.insert(val1[i]); mp1[val1[i]]+=maxd[cycle[i]].second; //s2.insert(val2[t+1+i]); //mp2[val2[t+1+i]]+=maxd[cycle[t+1+i]].second; } /*for(ll i=0;i<cycle.size();i++) { cout<<cycle[i]<<" "; } cout<<endl;*/ //cout<<t<<" "<<cycle[t]<<":\n"; ll max1=(*s1.rbegin()); //ll max2=(*s2.rbegin()); ll cnt,dist; cnt=mp1[max1]*maxd[cycle[t]].second; dist=max1+t+maxd[cycle[t]].first; //cout<<dist<<" "<<cnt<<endl; if(dist>maxdist1.first) { maxdist1.first=dist; maxdist1.second=0; } if(dist==maxdist1.first) { maxdist1.second+=cnt; } /*cnt=mp2[max2]*maxd[cycle[t]].second; dist=max2-t+maxd[cycle[t]].first; cout<<dist<<" "<<cnt<<endl; if(dist>maxdist.first) { maxdist.first=dist; maxdist.second=0; } if(dist==maxdist.first) { maxdist.second+=cnt; }*/ for(ll mid=t+1;mid<cycle_size+t;mid++) { //cout<<mid<<" "<<cycle[mid]<<":\n"; s1.erase(s1.find(val1[mid-t-1])); mp1[val1[mid-t-1]]-=maxd[cycle[mid-t-1]].second; //s2.erase(val2[mid]); //mp2[val2[mid]]-=maxd[cycle[mid]].second; s1.insert(val1[mid-1]); mp1[val1[mid-1]]+=maxd[cycle[mid-1]].second; //s2.insert(val2[mid+t]); //mp2[val2[mid+t]]+=maxd[cycle[mid+t]].second; max1=(*s1.rbegin()); //max2=(*s2.rbegin()); cnt=mp1[max1]*maxd[cycle[mid]].second; dist=max1+mid+maxd[cycle[mid]].first; //cout<<dist<<" "<<cnt<<endl; if(dist>maxdist1.first) { maxdist1.first=dist; maxdist1.second=0; } if(dist==maxdist1.first) { maxdist1.second+=cnt; } /*cnt=mp2[max2]*maxd[cycle[mid]].second; dist=max2-mid+maxd[cycle[mid]].first; cout<<dist<<" "<<cnt<<endl; if(dist>maxdist.first) { maxdist.first=dist; maxdist.second=0; } if(dist==maxdist.first) { maxdist.second+=cnt; } */ /*cout<<"s1:\n"; for(auto xd:s1)cout<<xd<<" "; cout<<endl;*/ } //cout<<maxdist.first<<" "<<maxdist.second<<endl; //ans=maxdist.second; /*if(cycle_size%2==0) { for(ll i=0;i<t;i++) { ll j=i+t; ll dist=maxd[cycle[i]].first+t+maxd[cycle[j]].first; if(dist==maxdist.first) { ans+=maxd[cycle[i]].second*maxd[cycle[j]].second; } } }*/ //cout<<ans<<endl; memset(vis,0,sizeof(vis)); for(ll i=0;i<cycle_size;i++)vis[cycle[i]]=1; for(ll i=0;i<cycle_size;i++) { dfs1(cycle[i]); } //cout<<maxdist.first<<" "; memset(vis,0,sizeof(vis)); for(ll i=0;i<cycle_size;i++)vis[cycle[i]]=1; for(ll i=0;i<cycle_size;i++) { dfs1000(cycle[i],cycle[i]); } pair<int,int>maxdist3,maxdist4; maxdist3={0,0}; maxdist4={0,0}; for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { //cout<<i<<" "<<j<<" "<<w[i][j]<<" "<<ww[i][j]<<endl; if(which1[i]!=which1[j]) { if(w[i][j]>maxdist3.first) { maxdist3={w[i][j],0}; } if(w[i][j]==maxdist3.first) { maxdist3.second+=ww[i][j]; } } else { if(w[i][j]>maxdist4.first) { maxdist4={w[i][j],0}; } if(w[i][j]==maxdist4.first) { maxdist4.second+=ww[i][j]; } } } } pair<int,int> maxdist=maxdist3; if(maxdist4.first>maxdist.first)maxdist={maxdist4.first,0}; if(maxdist4.first==maxdist.first)maxdist.second+=maxdist4.second; if(maxdist3!=maxdist1)assert(false); cout<<maxdist.second<<endl; return 0; } /* 8 1 2 2 3 2 4 2 5 2 8 3 6 6 4 4 7 */

Compilation message (stderr)

shymbulak.cpp: In function 'void dfs1(long long int)':
shymbulak.cpp:64:25: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |             for(ll i=0;i<farthest.size();i++)
      |                        ~^~~~~~~~~~~~~~~~
shymbulak.cpp: In function 'int main()':
shymbulak.cpp:323:16: error: no match for 'operator!=' (operand types are 'std::pair<int, int>' and 'std::pair<long long int, long long int>')
  323 |     if(maxdist3!=maxdist1)assert(false);
      |        ~~~~~~~~^~~~~~~~~~
      |        |         |
      |        |         pair<long long int,long long int>
      |        pair<int,int>
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1064:5: note: candidate: 'template<class _BiIter> bool std::__cxx11::operator!=(const std::__cxx11::sub_match<_BiIter>&, const std::__cxx11::sub_match<_BiIter>&)'
 1064 |     operator!=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1064:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1144:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const std::__cxx11::sub_match<_BiIter>&)'
 1144 |     operator!=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1144:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1237:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(const std::__cxx11::sub_match<_BiIter>&, std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)'
 1237 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1237:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1311:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type*, const std::__cxx11::sub_match<_BiIter>&)'
 1311 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1311:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1405:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)'
 1405 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1405:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1479:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type&, const std::__cxx11::sub_match<_BiIter>&)'
 1479 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1479:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:1579:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)'
 1579 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:1579:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/regex:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:110,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/regex.h:2126:5: note: candidate: 'template<class _Bi_iter, class _Alloc> bool std::__cxx11::operator!=(const std::__cxx11::match_results<_BiIter, _Alloc>&, const std::__cxx11::match_results<_BiIter, _Alloc>&)'
 2126 |     operator!=(const match_results<_Bi_iter, _Alloc>& __m1,
      |     ^~~~~~~~
/usr/include/c++/10/bits/regex.h:2126:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::match_results<_BiIter, _Alloc>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/iosfwd:40,
                 from /usr/include/c++/10/ios:38,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/postypes.h:227:5: note: candidate: 'template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)'
  227 |     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/10/bits/postypes.h:227:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::fpos<_StateT>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:64,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/stl_pair.h:496:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
  496 |     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_pair.h:496:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   deduced conflicting types for parameter '_T1' ('int' and 'long long int')
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:372:5: note: candidate: 'template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)'
  372 |     operator!=(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:372:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::reverse_iterator<_Iterator>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:410:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
  410 |     operator!=(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:410:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::reverse_iterator<_Iterator>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1444:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
 1444 |     operator!=(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1444:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1501:5: note: candidate: 'template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)'
 1501 |     operator!=(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1501:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/string:41,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/allocator.h:213:5: note: candidate: 'template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)'
  213 |     operator!=(const allocator<_T1>&, const allocator<_T2>&)
      |     ^~~~~~~~
/usr/include/c++/10/bits/allocator.h:213:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::allocator<_CharT>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6229:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
 6229 |     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6229:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6242:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
 6242 |     operator!=(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6242:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   mismatched types 'const _CharT*' and 'std::pair<int, int>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6254:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)'
 6254 |     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6254:5: note:   template argument deduction/substitution failed:
shymbulak.cpp:323:18: note:   'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
  323 |     if(maxdist3!=maxdist1)assert(false);
      |                  ^~~~~~~~
In file included from /usr/include/c++/10/bits/ios_base.h:46,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from shymbulak.cpp:1:
/usr/include/c++/10/system_error:398:3: note: candidate: 'bool std::operator!=(const std::error_code&, const std::error_code&)'
  398 |   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
      |