CF Case of Fugitive

#include<bits/stdc++.h>
using namespace std;
struct node{
    long long  mi,ma,index;
    bool operator < (node a){
        return mi<a.mi;
    }
};
struct st{
    long long  value,id;
    st(){}
    st(long long  x,long long  y){
        value=x;
        id=y;
    }
    bool operator <(const st& a)const {
        return value>a.value;
    }
};
node dis[200004];
int ans[200005];
priority_queue<st>a;
int main(){
    freopen("1.txt","r",stdin);
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n,m;
    long long  l1,r1,l2,r2;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>l1>>r1;
        if(i!=1){
            dis[i-1].mi=l1-r2;
            dis[i-1].ma=r1-l2;
            dis[i-1].index=i-1;
        }
        r2=r1;
        l2=l1;
    }
    for(int i=1;i<=m;i++){
        long long  x;
        cin>>x;
        a.push(st(x,i));
    }
    sort(dis+1,dis+n);
    int i;
    for(i=1;i<n;i++){
        while(a.top().value<dis[i].mi&&!a.empty()) a.pop();
        if(a.empty()) break;
        if(a.top().value>dis[i].ma) break;

        ans[dis[i].index]=a.top().id;
        a.pop();
    }
    if(i<n) {cout<<"No"<<endl;return 0;}
    cout<<"Yes"<<endl;
    for(int i=1;i<n;i++){
        cout<<ans[i];
        if(i!=n-1)cout<<' ';
        else cout<<endl;
    }
}

全部评论

相关推荐

09-19 14:12
武汉大学 golang
并没有发笔试,只是顺延了两次,去看官网发现流程结束了
无敌忍耐王:三个工作日没人捞就自动结束了
投递美团等公司10个岗位
点赞 评论 收藏
分享
代码不跑我跑_秋招版:北大杀完9✌杀,9✌杀完鼠鼠杀
你最希望上岸的公司是?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
09-18 14:26
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务