Submission #1120141

#TimeUsernameProblemLanguageResultExecution timeMemory
1120141vjudge1Event Hopping (BOI22_events)C++17
0 / 100
157 ms13208 KiB
#include <bits/stdc++.h> using namespace std; #define f first #define s second typedef long long ll; void solve() { ll n; cin>>n; ll Q; cin>>Q; map<ll, pair<ll, ll>> ord; vector<pair<ll, pair<ll, ll>>> v; for(ll i=1; i<=n; i++) { ll l,r; cin>>l>>r; v.push_back({r, {l, i}}); } sort(v.begin(), v.end()); ll p=1, chain=1; ll lst=-1; for(auto [r, to]: v) { ll l=to.f, i=to.s; // cout<<i<<" "; if(lst == -1 || l <= lst) { ord[i]={chain, p++}; lst=r; } else { p=1; ord[i]={++chain, p++}; lst=r; } } // cout<<"\n\n"; // for(auto to: ord) { // cout<<to.f<<" "<<to.s.f<<" "<<to.s.s<<"\n"; // } for(ll i=1; i<=Q; i++) { ll l, r; cin>>l>>r; if(ord[r].f != ord[l].f || ord[l].s > ord[r].s) cout<<"impossible\n"; else cout<<ord[r].s-ord[l].s<<"\n"; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t=1; // cin>>t; while(t--) { solve(); cout<<'\n'; } } /* 5 5 2 3 1 2 7 9 4 7 4 6 2 1 5 2 5 4 4 5 5 3 */
#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...