Submission #1038249

#TimeUsernameProblemLanguageResultExecution timeMemory
1038249UnforgettableplTower (JOI24_tower)C++17
0 / 100
20 ms1624 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int INF = 1e18+1; int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n,q,d,A,B; cin >> n >> q >> d >> A >> B; vector<pair<int,int>> ranges; for(int i=1;i<=n;i++){ int l,r;cin>>l>>r; ranges.emplace_back(l,r); } ranges.emplace_back(1e12+1,1e12+1); set<pair<int,int>> accessible; accessible.insert({0,ranges[0].first-1}); int last = d; int last2 = ranges[0].first-1+d; for(int i=0;i<n;i++){ last = max(last,ranges[i].second+1); if(last2<=ranges[i].second)break; if(last>=ranges[i+1].first)continue; accessible.insert({last,ranges[i+1].first-1}); last+=d; last2 = ranges[i+1].first-1+d; } for(int i=1;i<=q;i++){ int x;cin>>x; auto iter = accessible.upper_bound({x,INF}); if(iter==accessible.begin()) cout << "-1\n"; else { iter--; if(x<=iter->second)cout<<x<<'\n'; else cout<<"-1\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...