QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#421493#6754. SelectionFugeg#WA 56ms3696kbC++171.5kb2024-05-25 20:03:172024-05-25 20:03:17

Judging History

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

  • [2024-05-25 20:03:17]
  • 评测
  • 测评结果:WA
  • 用时:56ms
  • 内存:3696kb
  • [2024-05-25 20:03:17]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 10, M = 4e5;
ll n, m, q;
struct E
{
	ll c, id, sex, st;
} e[N], e1[N];
bool cmp(E a, E b)
{
	if (a.sex > b.sex)
		return 1;
	else if (a.sex < b.sex)
		return 0;
	return a.c > b.c;
}
bool cmp1(E a, E b)
{
	return a.c > b.c;
}
void solve()
{
	cin >> n >> m >> q;
	for (int i = 1; i <= n; i++)
	{
		cin >> e[i].c >> e[i].sex;
		e[i].id = i;
	}
	while (q--)
	{

		int op;
		cin >> op;
		if (op == 1)
		{
			int id, sex;
			cin >> id >> sex;
			e[id].sex = sex;
		}
		else
		{
			int x;
			cin >> x;
			for (int i = 1; i <= n; i++)
			{
				e1[i].c = e[i].c;
				e1[i].sex = e[i].sex;
				e1[i].id = e[i].id;
				e1[i].st = 0;
			}

			sort(e1 + 1, e1 + n + 1, cmp);
			int cnt = m;
			if (e1[1].sex == 1)
			{
				cnt--;
				e1[1].st = 1;
				sort(e1 + 2, e1 + n + 1, cmp1);
			}
			else
				sort(e1 + 1, e1 + n + 1, cmp1);

			for (int i = 1; i <= n; i++)
			{
				if (!e1[i].st)
				{
					e1[i].st = 1;
					cnt--;
					if (cnt == 0)
						break;
				}
			}
			for (int i = 1; i <= n; i++)
			{
				if (e1[i].id == x)
				{
					if (e1[i].st == 1)
					{
						cout << "1\n";
					}
					else
					{
						cout << "0\n";
					}
					break;
				}
			}
		}
	}
}
int main()
{
	std::ios::sync_with_stdio(0);
	std::cin.tie(0);
	std::cout.tie(0);
	int t = 1;
	// cin >> t;
	while (t--)
		solve();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3656kb

input:

3 2 3
3 0
1 1
2 0
2 2
1 2 0
2 2

output:

1
0

result:

ok 2 number(s): "1 0"

Test #2:

score: -100
Wrong Answer
time: 56ms
memory: 3696kb

input:

1000 1 1000
617 0
199 0
776 0
536 1
258 0
311 1
579 0
844 0
356 1
587 0
564 0
782 0
37 1
717 1
612 1
245 1
444 1
750 0
52 1
92 1
741 0
266 1
71 1
189 1
419 1
580 1
585 1
268 1
255 0
490 1
70 1
497 1
829 1
469 1
641 0
929 1
379 1
507 0
474 1
407 0
221 1
985 0
815 1
217 0
445 1
386 0
132 0
154 0
736 1...

output:

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

wrong answer 1st numbers differ - expected: '0', found: '1'