Submission #1293754

#TimeUsernameProblemLanguageResultExecution timeMemory
1293754nguyenkhangninh99Marathon Race 2 (JOI24_ho_t3)C++20
7 / 100
1 ms580 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...