ADDSQURE complexity error for 50 marks

i solved this for 50 marks (3sec time) still i got TLE for 2 subtasks

#include
#include<bits/stdc++.h>
using namespace std;
#include
#define ll long long

int main(void) {

ios_base::sync_with_stdio(false);
cin.tie(NULL);

ll w,h,n,m,temp,final_max=0;
cin>>w>>h>>n>>m;
vectorall_x,all_y;

for(ll i=0;i<n;i++)
{
cin>>temp;
all_x.push_back(temp);
}

for(ll i=0;i<m;i++)
{
cin>>temp;
all_y.push_back(temp);
}

vectornbi;
for(ll j=0;j<=h;j++)
{
bool flag=false;
for(ll i=0;i<m;i++)
{
if(all_y[i]==j)
{
flag=true;
break;
}
}
if(flag!=true)
{
nbi.push_back(j);
}
}

sets,s2,s3;
for(ll i=0;i<n;i++)
{
for(ll j=i+1;j<n;j++)
{
s.insert(abs(all_x[i]-all_x[j]));
}
}

for(ll i=0;i<m;i++)
{
for(ll j=i+1;j<m;j++)
{
s3.insert(abs(all_y[i]-all_y[j]));
}
}
// ---------------------------------------------------------------COMPULSARY-----------------------------------------------------------------------

ll count=0,max1=0,pos=0;

ll f=nbi.size();

for(ll j=0;j<f;j++)
{
count=0;
sets1,s4;

for(ll i=0;i<m;i++)
{
s1=s;
s4=s3;
s1.insert(abs(all_y[i]-nbi[j]));
ll k1=s1.size(),m1=s.size();
if(k1==m1)
{
s4.insert(abs(all_y[i]-nbi[j]));
ll k2=s3.size(),m2=s4.size();
if(k2<m2)
{
count++;
}
}
}
if(count>=max1)
{
max1=count;
pos=nbi[j];
}
}

// _____________________________________________________________________________________
ll max2=0;

set :: iterator itr;

for (itr = s.begin(); itr != s.end(); ++itr) 
{ 
   set<ll>tv;
   tv=s3;
   tv.insert(*itr);
   if(tv.size()==s3.size())
   {
   	max2++;
   }

}

cout<<max1+max2<<endl;

}

can you check

share the link to you solution instead to make it more readable