QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#716873#9544. Grand Prix of Ballancelzr010506#WA 0ms3800kbC++201.1kb2024-11-06 16:13:362024-11-06 16:13:41

Judging History

你现在查看的是最新测评结果

  • [2024-11-06 16:13:41]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3800kb
  • [2024-11-06 16:13:36]
  • 提交

answer

#include <bits/stdc++.h>
#define ll long long
using namespace std;

int main()
{
	int T;
	scanf("%d", &T);
	while(T --)
	{
		int n, m, q;
		scanf("%d%d%d", &n, &m, &q);
		int nowlevel = 1;
		vector<vector<int> > finish(n + 1);
		vector<set<int> > vis(n + 1);
		while(q --)
		{
			int op;
			scanf("%d", &op);
			if(op == 1)
			{
				int x;
				scanf("%d", &x);
				nowlevel = x;
			}
			else if(op == 2)
			{
				int id, x;
				scanf("%d%d", &id, &x);
				if(x != nowlevel) continue;
				if(vis[x].count(id) == 1) continue;
				finish[x].push_back(id);
				vis[x].insert(id);
			}
			else
			{
				int id, x;
				scanf("%d%d", &id, &x);
				if(x != nowlevel) continue;
				vis[x].insert(id);
			}
		}

		vector<ll> ans(m + 1);
		for(int i = 1; i <= n; i ++)
		{
			int v = m;
			for(auto j : finish[i])
				ans[j] += v --;
		}
		vector<int> id(m);
		iota(id.begin(), id.end(), 1);
		sort(id.begin(), id.end(), [&](int x, int y) -> bool {
			if(ans[x] == ans[y]) return x < y;
			return ans[x] > ans[y];
		});

		for(auto i : id)
			printf("%d %lld\n", i, ans[i]);

	}

	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3764kb

input:

3
3 4 6
1 2
2 1 1
2 2 2
3 3 2
2 3 2
2 1 2
3 4 8
1 2
2 1 1
2 2 2
3 3 2
2 3 2
2 1 2
1 1
2 1 1
3 4 7
1 2
2 1 1
2 2 2
3 3 2
2 3 2
2 1 2
1 1

output:

2 4
1 3
3 0
4 0
1 7
2 4
3 0
4 0
2 4
1 3
3 0
4 0

result:

ok 12 lines

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3800kb

input:

10
18 8 8
2 1 6
1 13
2 1 18
3 8 13
2 7 14
2 5 11
3 6 13
3 1 13
26 7 11
1 22
2 7 22
1 9
2 6 24
1 2
1 18
3 3 4
2 3 18
1 26
3 7 1
3 2 26
1 3 33
3 3 1
2 3 1
2 2 1
1 1
2 1 1
2 1 1
3 1 1
3 3 1
3 2 1
3 3 1
2 2 1
2 2 1
3 3 1
2 2 1
2 2 1
3 3 1
2 3 1
2 3 1
3 3 1
2 3 1
2 2 1
2 2 1
2 2 1
2 1 1
3 2 1
2 2 1
3 2 1...

output:

1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
3 7
7 7
1 0
2 0
4 0
5 0
6 0
2 3
1 2
3 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
5 25
25 25
1 0
2 0
3 0
4 0
6 0
7 0
8 0
9 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
21 0
22 0
23 0
24 0
1 0
2 0...

result:

wrong answer 16th lines differ - expected: '1 3', found: '2 3'