#include<bits/stdc++.h>
#define ll long long
#define co cout<<
using namespace std;
// stuff
const int maxn=2e5+5;
ll n,m,q;
vector<pair<ll,ll>>edges;
vector<ll>v[maxn];
ll ans[maxn];
ll c[maxn],bad=0;
void dfs(ll x,ll last){
if(c[x]) return;
if(c[last]==1) c[x]=2;
else c[x]=1;
for(auto i:v[x]){
if(c[x]==c[i]) bad=1;
dfs(i,x);
}
}
void solve(){
cin>>n>>m>>q;
for(int i=0;i<m;i++){
ll a,b;
cin>>a>>b;
edges.push_back({a,b});
}
while(q--){
ll l,r;
cin>>l>>r;
for(int i=0;i<l-1;i++){
v[edges[i].first].push_back(edges[i].second);
v[edges[i].second].push_back(edges[i].first);
}
for(int i=r;i<m;i++){
v[edges[i].first].push_back(edges[i].second);
v[edges[i].second].push_back(edges[i].first);
}
for(int i=1;i<=n;i++) dfs(i,0);
for(int i=1;i<=n;i++){
v[i].clear();
c[i]=0;
}
co ((bad)?"YES\n":"NO\n");
bad=0;
}
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int _=1;
// cin>>_;
while(_--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |