Submission #1151553

#TimeUsernameProblemLanguageResultExecution timeMemory
1151553Robert_juniorJoker (BOI20_joker)C++20
14 / 100
2095 ms3188 KiB
#include<bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define ins insert #define pb push_back #define F first #define S second const int N = 2e5+100, M = 5e5 + 7; const int mod = 1e9 + 7; int pr[N], sz[N], f[N], l[N], r[N]; int ans; int get(int v){ if(pr[v] == v) return v; else return get(pr[v]); } int get1(int v){ if(pr[v] == v) return f[v]; else return (get1(pr[v]) ^ f[v]); } void unite(int u, int v){ int a = get(u), b = get(v); int f1 = get1(u), f2 = (get1(v)); if(a == b){ if(f1 == f2) ans++; } else{ if(sz[a] < sz[b]){ swap(a, b); } sz[a] += sz[b]; pr[b] = a; sz[b] = 0; if(f1 == f2) f[b] ^= 1; } } void solve(){ int n, m, q; cin>>n>>m>>q; for(int i = 1; i <= m; i++){ cin>>l[i]>>r[i]; } while(q--){ int l1, r1; cin>>l1>>r1; ans = 0; for(int i = 1; i <= n; i++){ sz[i] = 1; pr[i] = i; f[i] = 0; } for(int i = 1; i <= m; i++){ if(l1 <= i && i <= r1) continue; unite(l[i], r[i]); } if(ans) cout<<"YES\n"; else cout<<"NO\n"; } } main(){ ios_base :: sync_with_stdio(false); cin.tie(nullptr); int t = 1; //cin>>t; for(int i = 1; i <= t; i++){ //cout<<"Case "<<i<<": "; solve(); } }

Compilation message (stderr)

Joker.cpp:59:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   59 | main(){
      | ^~~~
#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...