倒序处理即可
const int N=10010;
struct carpet
{
int a,b,c,d;
}e[N];
int n;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>e[i].a>>e[i].b>>e[i].c>>e[i].d;
e[i].c+=e[i].a;
e[i].d+=e[i].b;
}
int x,y;
cin>>x>>y;
int res=-1;
for(int i=n-1;i>=0;i--)
if(x>=e[i].a && y>=e[i].b && x<=e[i].c && y<=e[i].d)
{
res=i+1;
break;
}
cout<<res<<endl;
//system("pause");
}