糖糖别胡说,我真的不是签到题目
糖糖别胡说,我真的不是签到题目
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的小屋 文章被收录于专栏
我想要一份甜甜的爱情