21 solutions
-
0
Guest MOD
-
0
//J123 #include<bits/stdc++.h> using namespace std; struct node{ int x,t; }; int main(){ int n,m; cin>>n>>m; vector<node> v(n+m+5); for(int i=1;i<=n+m;i++) cin>>v[i].x; for(int i=1;i<=n+m;i++) cin>>v[i].t; vector<int> c(m+5),u(n+5); int cn1=0,cn2=0; for(int i=1;i<=n+m;i++){ if(v[i].t==1) c[++cn1]=v[i].x; else u[++cn2]=v[i].x; } vector<int> arr(m+3); for(int i=1;i<=n;i++){ int minn=1,minx=INT_MAX; for(int j=1;j<=m;j++){ if(abs(u[i]-c[j])<=minx){ if(abs(u[i]-c[j])==minx){ if(j<minn){ minx=abs(u[i]-c[j]); minn=j; } } else if(abs(u[i]-c[j])<minx){ minx=abs(u[i]-c[j]); minn=j; } } } arr[minn]++; } for(int i=1;i<=m;i++){ cout<<arr[i]<<" "; } return 0; }
Information
- ID
- 1324
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 252
- Accepted
- 128
- Uploaded By