Submission #642309

# Submission time Handle Problem Language Result Execution time Memory
642309 2022-09-19T08:24:21 Z dozer Joker (BOI20_joker) C++14
25 / 100
76 ms 5756 KB
#include <bits/stdc++.h>
using namespace std;
#define fileio() freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout)
#define fastio() cin.tie(0), ios_base::sync_with_stdio(0)
#define sp " "
#define endl "\n"
#define pb push_back
#define pii pair<int, int>
#define st first
#define nd second
#define N 200005
 
const int modulo = 1e9 + 7;
int ans[N], u[N], v[N], l[N], r[N];
 
int find(vector<int> &root, int node)
{
	if (node < 0) return -(find(root, -node));
	if (node == root[node]) return node;
	return root[node] = find(root, root[node]);
}
 
 
int32_t main()
{
	fastio();
 

	int n, m, q;
	cin>>n>>m>>q;
	vector<int> root(n + 5, 0);
	for (int i = 1; i <= n; i++)
		root[i] = i;
 
	for (int i = 1; i <= m; i++)
	{
		cin>>u[i]>>v[i];
	}
 
	for (int i = m; i >= 1; i--)
	{
		if (ans[i + 1] == 1) 
		{
			ans[i] = 1;
			continue;
		}
		int a = find(root, u[i]), b = find(root, v[i]);
		if (a == b) ans[i] = 1;
		else
		{
			if (a < 0) a *= -1, b *= -1;
			root[a] = -b;
		}
	}
 
	for (int i = 1; i <= q; i++)
	{
		cin>>l[i]>>r[i];
		if (ans[r[i] + 1] == 1) cout<<"YES\n";
		else cout<<"NO\n";
	}
	cerr<<"time taken : "<<(float)clock() / CLOCKS_PER_SEC<<" seconds\n";
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 63 ms 5500 KB Output is correct
4 Correct 60 ms 5332 KB Output is correct
5 Correct 66 ms 5756 KB Output is correct
6 Correct 58 ms 5272 KB Output is correct
7 Correct 59 ms 5124 KB Output is correct
8 Correct 60 ms 5068 KB Output is correct
9 Correct 58 ms 5184 KB Output is correct
10 Correct 60 ms 5660 KB Output is correct
11 Correct 65 ms 5132 KB Output is correct
12 Correct 64 ms 5656 KB Output is correct
13 Correct 63 ms 4696 KB Output is correct
14 Correct 66 ms 4880 KB Output is correct
15 Correct 63 ms 5196 KB Output is correct
16 Correct 76 ms 5404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB Output isn't correct
4 Halted 0 ms 0 KB -