1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e5+10; char s[N];int x[N],a[N],b[N],l,r; signed main() { int n,t;scanf("%lld%lld%s",&n,&t,s+1); for(int i=1;i<=n;i++) { scanf("%lld",&x[i]); if(s[i]=='1')a[++l]=x[i]; else b[++r]=x[i]; } int ans=0; sort(b+1,b+r+1); for(int i=1;i<=l;i++) { int id1=upper_bound(b+1,b+r+1,a[i]+t*2)-b-1; int id2=lower_bound(b+1,b+r+1,a[i])-b; ans+=id1-id2+1; } printf("%lld\n",ans); return 0; }
- 1
信息
- ID
- 1704
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 9
- 标签
- 递交数
- 10
- 已通过
- 7
- 上传者