- 朋友-T5
0分,求调!求调!求调!
- @ 2026-6-29 13:22:17
#include <bits/stdc++.h>
using namespace std;
int a[100005];
int t[100005];
int main (){
int n,q;
cin>>n>>q;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
cin>>t[i];
t[i]=a[i]-t[i];
if(t[i]<0)t[i]=1000001;
}
sort(t+1,t+n+1);
for(int i=1;i<=q;i++){
int x,y;
cin>>x>>y;
int r=n+1;
int l=0;
int ans=-1;
while(l+1<r){
int mid=(l+r)/2;
if(t[mid]>=y){
r=mid;
ans=mid;
}else l=mid;
}
if(t[ans]<y){
cout<<"NO"<<endl;
continue;
}
if(ans>=x)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
// cout<<ans<<endl;
}
return 0;
}
1 条评论
-
chenjianzhou1 LV 4 @ 2026-7-2 9:06:04#include<bits/stdc++.h> using namespace std; struct sj{ long long a,b; }a[1000001]; bool cmp(sj x,sj y){ return (x.a-x.b)>(y.a-y.b); } long long n,q; int main(){ cin>>n>>q; for(int i=1;i<=n;i++)cin>>a[i].a; for(int i=1;i<=n;i++)cin>>a[i].b; sort(a+1,a+n+1,cmp); while(q--){ long long v,s; cin>>v>>s; long long l=1,r=n; while(l<=r){ long long mid=(l+r)/2; if(a[mid].b+s<a[mid].a)l=mid+1; else r=mid-1; } if(l-1>=v)cout<<"YES\n"; else cout<<"NO\n"; } return 0; }
- 1
信息
- ID
- 4586
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 37
- 已通过
- 17
- 上传者