Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <cstring>
- #include <algorithm>
- #include <bits/stdc++.h>
- using namespace std;
- bool sortbysec(const pair<string,int> &a, const pair<string,int> &b)
- {
- return (a.second < b.second);
- }
- int main()
- {
- int m, w, n, r;
- cin >> m;
- int mw[m];
- for (int i=0; i<m; i++){
- cin >> mw[i];
- }
- cin >> w;
- int ww[w];
- for (int i=0; i<w; i++){
- cin >> ww[i];
- }
- cin >> r >> n;
- pair<string, int> kay[w];
- //memset(kay, 0, w*4);
- for (int i=0; i<w; i++){
- kay[i].second = 0;
- for (int j=0; j<m; j++){
- if (abs(ww[i] - mw[j]) <= r){
- kay[i].first[j] = '1';
- kay[i].second++;
- }
- else{
- kay[i].first[j] = '0';
- }
- }
- }
- sort(kay, kay+n, sortbysec);
- reverse(kay, kay+n);
- for (int i=1; i<w; i++){
- int b = 0;
- if (kay[i-1].second != kay[i].second){
- sort(kay+b, kay+(i-1));
- reverse(kay+b, kay+(i-1));
- b = i;
- }
- }
- for (int i=1; i<w; i++){
- int b = 0;
- if (kay[i-1].first != kay[i].first){
- if ((i-1)-b >= n){
- cout << endl << kay[i-1].second;
- return 0;
- }
- b = i;
- }
- }
- cout << endl << -1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement