思路:
看到这题我有想过前缀和、差分,但是后来发现,这题其实是个思维题,贪心也行吧。
从先存完数据,然后从后往前枚举,遇到第一个囊括询问的点时就输出是第几个毛毯接着退出程序。
Code:

#include<bits/stdc++.h>
#define  js  ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;
struct node{
    int x,y,shang,you;
}q[10005];
int main() {
    js; int n,x,y;
    cin>>n;
    for(int i=1;i<=n;++i) cin>>q[i].x>>q[i].y>>q[i].you>>q[i].shang;
    cin>>x>>y;
    for(int i=n;i;--i) {
        if(x<q[i].x||y<q[i].y) continue;
        if(x-q[i].x<=q[i].you&&y-q[i].y<=q[i].shang) {
            cout<<i<<"\n";
            return 0;
        }
    }
}