SHARE
TWEET

Snake's Neck

Fahim_7861 Oct 21st, 2019 95 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define F first
  4. #define S second
  5. #define ll int
  6. int main()
  7. {
  8.     ios_base::sync_with_stdio(false);
  9.     cin.tie(NULL);
  10.     ll i,j,a,b,n,m;
  11.  
  12.     cin>>n;
  13.  
  14.     vector<pair<ll,ll> >v;
  15.  
  16.     map<pair<ll,ll>,ll>mp;
  17.  
  18.  
  19.     for(i=1; i<=n; i++)
  20.     {
  21.         cin>>a>>b;
  22.  
  23.         v.emplace_back(a,b);
  24.     }
  25.     cin>>m;
  26.  
  27.     for(i=1; i<=m; i++)
  28.     {
  29.         cin>>a>>b;
  30.  
  31.         mp[{a,b}]=i;
  32.     }
  33.  
  34.    ll pre,pos,ans=0;
  35.    i=0;
  36.     while(i<n)
  37.     {
  38.         if(mp[{v[i].F,v[i].S}])
  39.         {
  40.  
  41.  
  42.             pre=mp[{v[i].F,v[i].S}];
  43.  
  44.             i++;
  45.  
  46.             ll cnt=1;
  47.  
  48.  
  49.             while(i<n)
  50.             {
  51.                 pos=mp[{v[i].F,v[i].S}];
  52.  
  53.  
  54.                 if(pre+1==pos)
  55.                 {
  56.                     cnt++;
  57.                 }
  58.                 else break;
  59.  
  60.                 pre=pos;
  61.  
  62.                 i++;
  63.             }
  64.             i--;
  65.  
  66.             ans=max(ans,cnt);
  67.         }
  68.         i++;
  69.     }
  70.     i=0;
  71.  
  72.     while(i<n)
  73.     {
  74.         if(mp[{v[i].F,v[i].S}])
  75.         {
  76.  
  77.  
  78.             pre=mp[{v[i].F,v[i].S}];
  79.  
  80.             i++;
  81.  
  82.             ll cnt=1;
  83.  
  84.  
  85.             while(i<n)
  86.             {
  87.                 pos=mp[{v[i].F,v[i].S}];
  88.  
  89.  
  90.                 if(pre==pos+1)
  91.                 {
  92.                     cnt++;
  93.                 }
  94.                 else break;
  95.  
  96.                 pre=pos;
  97.  
  98.                 i++;
  99.             }
  100.             i--;
  101.  
  102.             ans=max(ans,cnt);
  103.         }
  104.         i++;
  105.     }
  106.  
  107.  
  108.  
  109.  
  110.  
  111.     cout<<ans<<endl;
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.     return 0;
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top