糖糖别胡说,我真的不是签到题目

糖糖别胡说,我真的不是签到题目

https://ac.nowcoder.com/acm/problem/14583

=-=逆向考虑下就好了,糟糕的题面啊!!最近怎么老是被我碰到啊

#include <bits/stdc++.h>
const int N=5e4+50,M=1e6+5;
int Time[N];
struct Mn{
    int x;long long y;
}a[N];
int main()
{
    int T;
    for(std::cin>>T;T;T--)
    {
        int n,m;std::cin>>n>>m;
        for(int i=1;i<=n;i++)    
        {
            scanf("%d%lld",&a[i].x,&a[i].y);
            Time[i]=0;
        }
        for(int i=1;i<=m;i++)    
        {
            int x;scanf("%d",&x);Time[x]++;
        }
        for(int i=n;i;i--)    Time[i]+=Time[i+1],a[i].y+=Time[i];
        int ans=n;long long maxa=0,maxb=0;
        for(int i=n;i;i--)
        {
            if(a[i].x==0)
            {
                maxa=std::max(maxa,a[i].y);
                if(maxb>a[i].y)    ans--;
            }
            else
            {
                maxb=std::max(maxb,a[i].y);
                if(maxa>a[i].y)    ans--;
            }
        }printf("%d\n",ans);
    }
    return 0;
}
lpt的小屋 文章被收录于专栏

我想要一份甜甜的爱情

全部评论

相关推荐

10-09 16:23
门头沟学院 Java
点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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