| Task: | Järjestys |
| Sender: | sharph2 |
| Submission time: | 2025-09-05 21:20:07 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| #5 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | 1, 4, 5 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 4, 5 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 4, 5 | details |
| #4 | WRONG ANSWER | 0.00 s | 1, 4, 5 | details |
| #5 | WRONG ANSWER | 0.01 s | 1, 4, 5 | details |
| #6 | WRONG ANSWER | 0.00 s | 1, 2, 4, 5 | details |
| #7 | WRONG ANSWER | 0.00 s | 1, 3, 4, 5 | details |
| #8 | WRONG ANSWER | 0.00 s | 1, 4, 5 | details |
| #9 | WRONG ANSWER | 0.01 s | 2, 4, 5 | details |
| #10 | WRONG ANSWER | 0.17 s | 3, 4, 5 | details |
| #11 | WRONG ANSWER | 0.03 s | 4, 5 | details |
| #12 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #13 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #14 | WRONG ANSWER | 0.09 s | 4, 5 | details |
| #15 | WRONG ANSWER | 0.04 s | 2, 5 | details |
| #16 | TIME LIMIT EXCEEDED | -- | 3, 5 | details |
| #17 | WRONG ANSWER | 0.62 s | 5 | details |
| #18 | TIME LIMIT EXCEEDED | -- | 5 | details |
| #19 | TIME LIMIT EXCEEDED | -- | 5 | details |
| #20 | TIME LIMIT EXCEEDED | -- | 5 | details |
| #21 | TIME LIMIT EXCEEDED | -- | 5 | details |
| #22 | TIME LIMIT EXCEEDED | -- | 5 | details |
Code
#include <algorithm>
#include <array>
#include <cmath>
#include <iostream>
#include <list>
#include <map>
#include <optional>
#include <random>
#include <set>
#include <vector>
using namespace std;
int main() {
cin.sync_with_stdio(false);
cin.tie(nullptr);
int tc;
cin >> tc;
for(int ti = 0; ti < tc; ++ti) {
int n;
cin >> n;
vector<pair<int, int>> parit;
vector<int> pura;
pura.push_back(0);
pura.push_back(1000000001);
for(int i = 0; i < n; ++i) {
int a, b;
cin >> a >> b;
parit.push_back({a, b});
pura.push_back(a);
pura.push_back(b);
}
sort(pura.begin(), pura.end());
const int N = pura.size();
vector<vector<pair<int, bool>>> G(N);
vector<int> sisaan(N);
vector<int> ulos(N);
for(auto [a, b] : parit) {
int i = std::lower_bound(pura.begin(), pura.end(), a) - pura.begin();
int j = std::lower_bound(pura.begin(), pura.end(), b) - pura.begin();
G[i].push_back({j, true});
++ulos[i];
++sisaan[j];
}
G[N - 1].push_back({0, false});
++ulos[N - 1];
++sisaan[0];
list<tuple<int, int, bool>> sykli;
map<int, list<tuple<int, int, bool>>::iterator> todo;
vector<pair<int, int>> ret;
int x = 0;
for(int i = 0; i < N; ++i) {
x += sisaan[i] - ulos[i];
if(x < 0) {
goto nope;
}
for(int j = 0; j < x; ++j) {
G[i].push_back({i + 1, false});
}
}
if(x != 0) throw 5;
todo.insert({0, sykli.begin()});
while(!todo.empty()) {
auto [alku, it] = *todo.begin();
int v = alku;
do {
if(G[v].empty()) throw 5;
auto [x, aito] = G[v].back();
G[v].pop_back();
todo.erase(v);
auto it2 = sykli.insert(it, {v, x, aito});
if(!G[v].empty()) {
todo.insert({v, it2});
}
v = x;
} while(v != alku);
}
for(auto [a, b, aito] : sykli) {
if(aito) {
ret.push_back({pura[a], pura[b]});
}
}
if(ret.size() != parit.size()) {
goto nope;
}
cout << "YES\n";
cout << ret.size() << "\n";
for(auto [a, b] : ret) {
cout << a << " " << b << "\n";
}
continue;
nope: {}
cout << "NO\n";
}
return 0;
}
Test details
Test 1
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 74 75 1 100 43 ... |
| correct output |
|---|
| YES 74 75 YES 100 43 YES ... |
| user output |
|---|
| YES 1 74 75 YES 1 ... Truncated |
Test 2
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 2 80 54 51 61 2 ... |
| correct output |
|---|
| YES 51 61 80 54 YES 2 64 ... |
| user output |
|---|
| YES 2 51 61 80 54 YES ... Truncated |
Test 3
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 3 3 74 91 45 100 24 ... |
| correct output |
|---|
| YES 3 74 100 24 91 45 YES ... |
| user output |
|---|
| YES 3 3 74 100 24 91 45 ... Truncated |
Test 4
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 4 88 50 62 41 12 86 ... |
| correct output |
|---|
| YES 12 86 88 50 62 41 66 93 ... |
| user output |
|---|
| YES 4 12 86 88 50 62 41 ... Truncated |
Test 5
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 5 82 80 80 92 5 22 ... |
| correct output |
|---|
| YES 5 22 94 13 82 80 80 92 ... |
| user output |
|---|
| YES 5 5 22 82 80 80 92 ... Truncated |
Test 6
Group: 1, 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 5 34 38 26 30 1 6 ... |
| correct output |
|---|
| YES 1 6 12 22 26 30 34 38 ... |
| user output |
|---|
| YES 5 1 6 12 22 26 30 ... Truncated |
Test 7
Group: 1, 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 5 50 40 28 25 51 7 ... |
| correct output |
|---|
| YES 51 7 50 40 47 1 17 11 ... |
| user output |
|---|
| YES 5 51 7 17 11 28 25 ... Truncated |
Test 8
Group: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 5 2 2 2 1 1 1 ... |
| correct output |
|---|
| YES 1 2 2 1 2 1 1 1 ... |
| user output |
|---|
| YES 5 1 1 1 2 2 2 ... Truncated |
Test 9
Group: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 175870020 296379324 248160539 883842002 21934885 781732852 ... |
| correct output |
|---|
| NO YES 4976156 6890135 10553287 11923223 14617057 17728163 ... |
| user output |
|---|
| NO YES 100 4976156 6890135 10553287 11923223 ... Truncated |
Test 10
Group: 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 447597377 314433951 700232436 691277009 937268439 708165426 ... |
| correct output |
|---|
| YES 998963839 391778929 995772196 257222033 995754704 553123757 994629465 247775824 ... |
| user output |
|---|
| YES 100 998963839 391778929 995772196 257222033 995754704 553123757 ... Truncated |
Test 11
Group: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 1 1 1 2 2 1 ... |
| correct output |
|---|
| YES 1 2 2 1 1 2 2 2 ... |
| user output |
|---|
| YES 100 1 1 1 2 2 1 ... Truncated |
Test 12
Group: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 7 1 6 3 10 9 ... |
| correct output |
|---|
| YES 6 7 7 8 9 10 10 10 ... |
| user output |
|---|
| YES 100 1 9 9 9 9 2 ... Truncated |
Test 13
Group: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 51 5 85 77 91 84 ... |
| correct output |
|---|
| YES 100 24 100 25 100 3 100 6 ... |
| user output |
|---|
| YES 100 85 67 85 7 85 77 ... Truncated |
Test 14
Group: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 823828194 863717310 593641073 340054211 420481158 965069109 ... |
| correct output |
|---|
| YES 999289319 634855378 996775156 433726648 983657502 55234695 981890636 112877413 ... |
| user output |
|---|
| YES 100 999289319 634855378 983657502 55234695 981890636 112877413 ... Truncated |
Test 15
Group: 2, 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 500 88724450 89315226 266915464 267648621 189301651 189661541 ... |
| correct output |
|---|
| YES 764920 1459946 1936195 2832987 3691481 4085931 4991808 5840928 ... |
| user output |
|---|
| YES 500 764920 1459946 1936195 2832987 3691481 4085931 ... Truncated |
Test 16
Group: 3, 5
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 500 763682761 317584504 756010800 260162861 435911339 78070399 ... |
| correct output |
|---|
| YES 998768285 3307355 998714926 628486754 997115613 820932481 993320616 554600893 ... |
| user output |
|---|
| (empty) |
Test 17
Group: 5
Verdict: WRONG ANSWER
| input |
|---|
| 100 500 2 2 2 1 1 2 ... |
| correct output |
|---|
| YES 1 2 2 2 2 1 1 2 ... |
| user output |
|---|
| YES 500 1 2 2 2 2 1 ... Truncated |
Test 18
Group: 5
Verdict: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| input |
|---|
| 100 500 934181189 942499518 684836806 395802802 957884803 570946201 ... |
| correct output |
|---|
| YES 999772640 505132174 999111650 140844643 999028633 888134186 999020109 291046771 ... |
| user output |
|---|
| (empty) |
