Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <bits/stdc++.h>
- #define mp make_pair
- #define pb push_back
- #define eb emplace_back
- #define x first
- #define y second
- #define sz(x) (int)x.size()
- #define all(x) begin(x), end(x)
- #define rall(x) rbegin(x), rend(x)
- #define FOR(i,a,b) for (int i = (a); i < (b); i++)
- #define RFOR(i,b,a) for (int i = (b) - 1; i >= (a); i--)
- using namespace std;
- typedef unsigned long long ull;
- typedef long long ll;
- typedef long double ld;
- typedef pair<int, int> pi;
- typedef pair<ll, ll> pl;
- typedef vector<int> veci;
- typedef vector<bool> vecb;
- typedef vector<vector<int>> vvi;
- typedef vector<vector<bool>> vvb;
- int main() {
- ios::sync_with_stdio(false);
- cin.tie(nullptr);
- cout.tie(nullptr);
- int n, p, c;
- cin >> n >> p >> c;
- vector<pi> vec(n);
- for (int i = 0; i < n; i++) {
- cin >> vec[i].x;
- vec[i].y = i;
- }
- veci res(n);
- sort(rall(vec));
- int l = 0, r = 0;
- for (int i = 0; i < n; i++){
- while(vec[i].x + c < vec[l].x)
- l++;
- if (l >= p)
- res[vec[i].y] = 2;
- while(r < n && vec[i].x - c < vec[r].x)
- r++;
- if (r - 1 < p)
- res[vec[i].y] = 3;
- if (!res[vec[i].y])
- res[vec[i].y] = 1;
- }
- for (int i = 0; i < n; i++)
- cout << (res[i] == 1 ? "Short" : res[i] == 2 ? "Fail" : "Pass") << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment