Submission details
Task:Järjestys
Sender:pupukani
Submission time:2025-09-05 23:00:58 +0300
Language:C++ (C++17)
Status:READY
Result:10
Feedback
groupverdictscore
#1ACCEPTED10
#20
#30
#40
#50
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 4, 5details
#2ACCEPTED0.00 s1, 4, 5details
#3ACCEPTED0.00 s1, 4, 5details
#4ACCEPTED0.00 s1, 4, 5details
#5ACCEPTED0.00 s1, 4, 5details
#6ACCEPTED0.00 s1, 2, 4, 5details
#7ACCEPTED0.00 s1, 3, 4, 5details
#8ACCEPTED0.00 s1, 4, 5details
#9--2, 4, 5details
#100.00 s3, 4, 5details
#110.00 s4, 5details
#120.00 s4, 5details
#130.00 s4, 5details
#140.00 s4, 5details
#15--2, 5details
#160.01 s3, 5details
#170.00 s5details
#180.00 s5details
#190.00 s5details
#200.01 s5details
#21--5details
#220.00 s5details

Code

#include <iostream>
#include <algorithm>
#include <vector>
#include <sstream>

class Pari
{
	private:
		int a, b;
	public:
		Pari(const std::string& str)
		{
			std::istringstream asd(str);
			asd>>a>>b;
		}
		bool operator<(const Pari& other) const
		{
			return b <= other.a;
		}
		friend std::ostream& operator<<(std::ostream& os, const Pari& pari)
		{
			os << pari.a << " " << pari.b;
			return os;
		}
};

std::stringstream ss;

bool muodostaa_jonon(std::vector<Pari> sorted, std::vector<Pari> unsorted, size_t u, size_t s)
{
	sorted.insert(sorted.begin() + s, unsorted[u]);
	unsorted.erase(unsorted.begin() + u);

	if (unsorted.empty())
	{
		ss << "YES" << std::endl;
		for (const Pari& p : sorted)
			ss << p << std::endl;
		return true;
	}

	for (size_t u = 0; u < unsorted.size(); ++u)
	{
		for (size_t s = 0; s < sorted.size(); ++s)
		{
			if (unsorted[u] < sorted[s] && (s == 0 || sorted[s - 1] < unsorted[u]))
			{
				if (muodostaa_jonon(sorted, unsorted, u, s))
					return true;
			}
			if (sorted[s] < unsorted[u] && (s == sorted.size() - 1 || unsorted[u] < sorted[s + 1]))
			{
				if (muodostaa_jonon(sorted, unsorted, u, s + 1))
					return true;
			}
		}
	}
	return false;
}

int main(void)
{
	int t;
	std::cin >> t;
	for (int ti = 0; ti < t; ++ti)
	{
		int n;
		std::cin >> n;
		std::string asd;
		std::getline(std::cin, asd);
		std::vector<Pari> parit;
		parit.reserve(n);
		for (int ni = 0; ni < n; ++ni)
		{
			std::string line;
			std::getline(std::cin, line);
			parit.push_back(Pari(line));
		}
		if (parit.empty())
			continue;
		std::sort(parit.begin(), parit.end());
		if (!muodostaa_jonon({}, parit, 0, 0))
			ss << "NO" << std::endl;
	}
	std::cout << ss.str();
}

Test details

Test 1

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
1
74 75
1
100 43
...

correct output
YES
74 75
YES
100 43
YES
...

user output
YES
74 75
YES
100 43
YES
...
Truncated

Test 2

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
2
80 54
51 61
2
...

correct output
YES
51 61
80 54
YES
2 64
...

user output
YES
51 61
80 54
YES
2 64
...
Truncated

Test 3

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
3
3 74
91 45
100 24
...

correct output
YES
3 74
100 24
91 45
YES
...

user output
YES
3 74
91 45
100 24
YES
...
Truncated

Test 4

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
4
88 50
62 41
12 86
...

correct output
YES
12 86
88 50
62 41
66 93
...

user output
YES
12 86
88 50
62 41
66 93
...
Truncated

Test 5

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
5
82 80
80 92
5 22
...

correct output
YES
5 22
94 13
82 80
80 92
...

user output
YES
5 22
82 80
80 92
93 91
...
Truncated

Test 6

Group: 1, 2, 4, 5

Verdict: ACCEPTED

input
100
5
34 38
26 30
1 6
...

correct output
YES
1 6
12 22
26 30
34 38
...

user output
YES
1 6
12 22
26 30
34 38
...
Truncated

Test 7

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
100
5
50 40
28 25
51 7
...

correct output
YES
51 7
50 40
47 1
17 11
...

user output
YES
28 25
50 40
51 7
17 11
...
Truncated

Test 8

Group: 1, 4, 5

Verdict: ACCEPTED

input
100
5
2 2
2 1
1 1
...

correct output
YES
1 2
2 1
2 1
1 1
...

user output
YES
2 2
2 1
1 1
1 2
...
Truncated

Test 9

Group: 2, 4, 5

Verdict:

input
100
100
175870020 296379324
248160539 883842002
21934885 781732852
...

correct output
NO
YES
4976156 6890135
10553287 11923223
14617057 17728163
...

user output
(empty)

Test 10

Group: 3, 4, 5

Verdict:

input
100
100
447597377 314433951
700232436 691277009
937268439 708165426
...

correct output
YES
998963839 391778929
995772196 257222033
995754704 553123757
994629465 247775824
...

user output
(empty)

Test 11

Group: 4, 5

Verdict:

input
100
100
1 1
1 2
2 1
...

correct output
YES
1 2
2 1
1 2
2 2
...

user output
(empty)

Test 12

Group: 4, 5

Verdict:

input
100
100
7 1
6 3
10 9
...

correct output
YES
6 7
7 8
9 10
10 10
...

user output
(empty)

Test 13

Group: 4, 5

Verdict:

input
100
100
51 5
85 77
91 84
...

correct output
YES
100 24
100 25
100 3
100 6
...

user output
(empty)

Test 14

Group: 4, 5

Verdict:

input
100
100
823828194 863717310
593641073 340054211
420481158 965069109
...

correct output
YES
999289319 634855378
996775156 433726648
983657502 55234695
981890636 112877413
...

user output
(empty)

Error:
malloc(): unaligned tcache chunk detected

Test 15

Group: 2, 5

Verdict:

input
100
500
88724450 89315226
266915464 267648621
189301651 189661541
...

correct output
YES
764920 1459946
1936195 2832987
3691481 4085931
4991808 5840928
...

user output
(empty)

Test 16

Group: 3, 5

Verdict:

input
100
500
763682761 317584504
756010800 260162861
435911339 78070399
...

correct output
YES
998768285 3307355
998714926 628486754
997115613 820932481
993320616 554600893
...

user output
(empty)

Error:
malloc(): unaligned tcache chunk detected

Test 17

Group: 5

Verdict:

input
100
500
2 2
2 1
1 2
...

correct output
YES
1 2
2 2
2 1
1 2
...

user output
(empty)

Test 18

Group: 5

Verdict:

input
100
500
10 6
10 10
9 10
...

correct output
YES
2 3
3 4
4 5
5 6
...

user output
(empty)

Test 19

Group: 5

Verdict:

input
100
500
85 87
89 70
70 92
...

correct output
YES
96 97
100 67
100 10
100 97
...

user output
(empty)

Test 20

Group: 5

Verdict:

input
100
500
861154169 119512584
569086662 606567153
288230434 322196278
...

correct output
YES
999945324 969534372
999738857 240617694
999244114 722161553
999207839 557351400
...

user output
(empty)

Test 21

Group: 5

Verdict:

input
100
500
116439250 401518028
280329609 193466222
674040956 209050570
...

correct output
NO
YES
773701149 773852119
987509190 315670966
977413249 510418200
...

user output
(empty)

Test 22

Group: 5

Verdict:

input
100
500
934181189 942499518
684836806 395802802
957884803 570946201
...

correct output
YES
999772640 505132174
999111650 140844643
999028633 888134186
999020109 291046771
...

user output
(empty)