题解:闷声大模拟……
#include <iostream>
#include <cstdio>
using namespace std;
int n,x,y;
const int M=10005;
int a[M],b[M],g[M],k[M];
void init()
{
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d%d%d%d",&a[i],&b[i],&g[i],&k[i]);
cin>>x>>y;
}
bool ok(int x,int y,int z){
return x<=y&&y<=z;
}
void work()
{
for(int i=n;i>=1;i--)//因为求最上面的,所以要倒着找
{
if(ok(a[i],x,a[i]+g[i])&&ok(b[i],y,b[i]+k[i]))
{
printf("%d\n",i);
return ;
}
}
printf("-1\n");
}
int main()
{
init();
work();
return 0;
}