#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 1e3 + 5, inf = 1e18;
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, l; cin >> n >> l;
vector<int> a(n + 1), pre(n + 1);
for(int i = 1; i <= n; i++) cin >> a[i];
sort(a.begin() + 1, a.end());
for(int i = 1; i <= n; i++) pre[i] = pre[i - 1] + a[i];
int q; cin >> q;
while(q--){
int s, g, t; cin >> s >> g >> t;
int d1 = 0, d2 = 0;
int p = lower_bound(a.begin() + 1, a.end(), s) - a.begin();
if(p <= n) d1 += (a.back() - s);
if(p >= 2) d2 += (s - a[1]);
int s2 = min(s, a[1]), s1 = max(a.back(), s);
d1 += (pre[n] + s1) - a[1] * (n + 1) + n;
d2 += a[n] * (n + 1) - (pre[n] + s2) + n;
d1 += abs(a[1] - g) * (n + 1);
d2 += abs(a[n] - g) * (n + 1);
cout << ((min(d1, d2) <= t) ? "Yes" : "No") << "\n";
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |