QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#788701#9810. Obliviate, Then Reincarnatewangjunrui#WA 0ms7980kbC++141.7kb2024-11-27 17:57:532024-11-27 17:57:53

Judging History

This is the latest submission verdict.

  • [2024-11-27 17:57:53]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 7980kb
  • [2024-11-27 17:57:53]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
constexpr int N = 5e5 + 5;
int n, m, q;
struct Edge
{
	int next, to, dis;
} edge[N];
int head[N], num_edge;
inline void add_edge(int from, int to, int dis)
{
	printf("%d %d %d\n", from, to, dis);
	edge[++num_edge].next = head[from];
	edge[num_edge].to = to;
	edge[num_edge].dis = dis;
	head[from] = num_edge;
}
int dfn[N], low[N], dfstime;
int st[N], top;
bool dp[N], answer[N];
long long dis[N];
int belong[N], color;
inline void tarjan(int u)
{
	st[++top] = u;
	dfn[u] = low[u] = ++dfstime;
	for (int i = head[u]; i; i = edge[i].next)
	{
		int v = edge[i].to;
		if (!dfn[v])
		{
			dis[v] = dis[u] + edge[i].dis;
			tarjan(v);
			low[u] = min(low[u], low[v]);
		}
		else if (!belong[v])
		{
			low[u] = min(low[u], dfn[v]);
			if (dis[v] != dis[u] + edge[i].dis)
				dp[v] = true;
		}
		dp[u] |= dp[v];
	}
	if (dfn[u] == low[u])
	{
		answer[belong[u] = ++color] |= dp[u];
		while (st[top] != u)
		{
			answer[belong[st[top]] = color] |= dp[u];
			--top;
		}
	}
}
inline void _main()
{
	cin >> n >> m >> q;
	for (int i = 1; i <= m; ++i)
	{
		int u, v;
		cin >> u >> v;
		add_edge((u % n + n) % n, ((u + v) % n + n) % n, v);
	}
	for (int i = 0; i < n; ++i)
		if (!dfn[i])
			tarjan(i);
	for (int i = 0; i < n; ++i)
	{
		int x;
		cin >> x;
		cout << (answer[belong[(x % n + n) % n]] ? "Yes\n" : "No\n");
	}
	num_edge = color = dfstime = 0;
	for (int i = 0; i < n; ++i)
	{
		belong[i] = 0;
		head[i] = 0;
		answer[i] = dp[i] = 0;
		dis[i] = 0;
	}
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int test = 1;
//	cin >> test;
	while (test--)
		_main();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 7980kb

input:

3 2 3
1 1
-1 3
1
2
3

output:

Yes
Yes
No
1 2 1
2 2 3

result:

wrong answer Participant output contains extra tokens