Submission #1141300

#TimeUsernameProblemLanguageResultExecution timeMemory
1141300LuvidiCurtains (NOI23_curtains)C++20
24 / 100
1596 ms13700 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pll pair<ll, ll> #define pii pair<int, int> #define fs first #define sc second #define pb push_back void solve() { int n,m,q; cin>>n>>m>>q; vector<int> a[n+1]; while(m--){ int l,r; cin>>l>>r; a[r].pb(l); } int ans[q]; vector<pii> qry[n+1]; for(int i=0;i<q;i++){ int l,r; cin>>l>>r; qry[r].pb({l,i}); } int dp[n+1]; memset(dp,-1,sizeof(dp)); for(int i=1;i<=n;i++){ vector<int> v={0}; for(int l:a[i]){ dp[l]=i; v.pb(l); } sort(v.begin(),v.end()); for(int j=1;j<v.size();j++){ for(int k=v[j-1]+1;k<=v[j];k++){ if(dp[k]>=v[j]-1)dp[k]=i; } } for(auto[l,idx]:qry[i]){ ans[idx]=dp[l]==i; } } for(int i=0;i<q;i++){ if(ans[i])cout<<"YES\n"; else cout<<"NO\n"; } } int main() { #ifdef FPO freopen("in","r",stdin); freopen("out","w",stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); solve(); }
#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...