제출 #1154824

#제출 시각아이디문제언어결과실행 시간메모리
1154824nguyenphong233Marathon Race 2 (JOI24_ho_t3)C++20
7 / 100
8 ms15944 KiB
// 23 - 12 - 23 #include<bits/stdc++.h> using namespace std; #define read() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define day() time_t now = time(0);char* x = ctime(&now);cerr<<"Right Now Is : "<<x<<"\n" #define int long long #define ii pair<int,int> #define X first #define Y second const long long MAX = (int)5e5 + 5; const long long INF = (int)1e9; const long long MOD = (int)1e9 + 7; int n,L,cnt[MAX]; int l[MAX],r[MAX]; int costl[MAX],costr[MAX]; int farl,farr; bool cost(int idx,int idy,int t){ if(idx <= idy){ int val = costl[idy] + (costl[idx] + 1) * (idy - idx); if(idx > farl)val += 2 * (idx - farl); if(farr > idy)val += costr[idy] + 2 * (farr - idy) * (1 + costl[idy]); //cout << val << " " << t << " \n"; return val + n <= t; }else{ int val = costr[idx] + (costr[idy] + 1) * (idx - idy); if(idx < farr)val += 2 * (farr - idx); if(farl < idy)val += costl[idy] + 2 * (idy - farl) * (1 + costr[idy]); //cout << val << " " << t << " \n"; return val + n <= t; } } signed main(){ read(); cin >> n >> L; L++; farl = L; farr = 1; for(int i = 1,x;i <= n;i++){ cin >> x; x++; cnt[x]++; farl = min(farl,x); farr = max(farr,x); } for(int i = 1;i <= L;i++){ l[i] = l[i - 1] + cnt[i]; costl[i] = costl[i - 1] + l[i - 1]; } for(int i = L;i >= 1;i--){ r[i] = r[i + 1] + cnt[i]; costr[i] = costr[i + 1] + r[i + 1]; } int q;cin >> q; for(int i = 1,s,g,t;i <= q;i++){ cin >> s >> g >> t; s++;g++; cout << ((cost(s,g,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...