Submission #925665

#TimeUsernameProblemLanguageResultExecution timeMemory
925665vjudge1Joker (BOI20_joker)C++17
14 / 100
2097 ms35768 KiB
// By ObeliX #include <bits/stdc++.h> #pragma GCC target( "sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3") #include <unordered_map> #include <cstddef> #include <cassert> #include <bitset> #include <algorithm> #include <iostream> #include <iomanip> #include <cmath> #include <queue> #include <map> #include <set> using namespace std; const long long N = 1e6 + 5; const long long mod = 1e7 + 7; const long long INF = 1e18; long long n , m , q , can ; long long used[N]; vector <pair<long long , long long>> g[N]; void dfs( int v , int l , int r ) { for ( auto it : g[v] ) { long long to = it.first , pos = it.second; if ( pos >= l && pos <= r ) { continue; } if ( used[to] == 0 ) { used[to] = used[v] + 1; dfs( to , l , r ); } else { if ( abs( used[to] - used[v] ) % 2 == 0 ) { can = 1; } } } } int main(){ //freopen( "cinema.in" , "r" , stdin ); //freopen( "cinema.out" , "w" , stdout ); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m >> q; for ( int i = 1 ; i <= m ; i++ ) { long long x , y; cin >> x >> y; g[x].push_back( { y , i } ); g[y].push_back( { x , i } ); } while ( q-- ) { long long l , r; cin >> l >> r; can = 0; for ( int i = 1 ; i <= n ; i++ ) { if ( used[i] == 0 ) { used[i] = 1; dfs( i , l , r ); } used[i] = 0; } if ( can == 1 ) { cout << "YES" << endl; } else { cout << "NO" << endl; } } }
#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...