CSES - Datatähti 2018 loppu - Results
Submission details
Task:Tanssiaiset
Sender:paavoee
Submission time:2018-01-18 13:17:34 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED35
#2ACCEPTED65
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.04 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.03 s1details
#6ACCEPTED0.08 s2details
#7ACCEPTED0.09 s2details
#8ACCEPTED0.09 s2details
#9ACCEPTED0.09 s2details
#10ACCEPTED0.09 s2details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:49:47: warning: 'd1' may be used uninitialized in this function [-Wmaybe-uninitialized]
   if ((d1 == it2->first && d2 == it2->second) || (d2 == it2->first && d1 == it2->second)) {
                                               ^

Code

/*
 * tanssiaiset.cpp
 *
 *  Created on: Jan 18, 2018
 *      Author: guest410
 */

#include <algorithm>
#include <iostream>
#include <utility>
#include <vector>

using namespace std;

//typedef unsigned int uint;

int main() {
	uint n;
	cin >> n;
	n = n/2 + 1;
	vector<pair<uint, uint>> pairs;
	vector<uint> all;
	for (uint i = 0; i < n; i++) {
		uint n1, n2;
		cin >> n1 >> n2;
		pairs.push_back(make_pair(n1, n2));
		all.push_back(n1);
		all.push_back(n2);
	}
	sort(all.begin(), all.end());
//	for (unsigned int i = 0; i < n; i++) {
//		cout << pairs[i].first << ' ' << pairs[i].second << '\n';
//	}
	uint prev = 0, d1, d2, k = 1;
	auto it = all.begin();
	for (; /*it != pairs.end()*/; ++it) {
		if (*it == prev) {
			if (k) {
				d1 = *it;
				k = 0;
			} else {
				d2 = *it;
				break;
			}
		}
		prev = *it;
	}
	for (auto it2 = pairs.begin(); it2 != pairs.end(); ++it2) {
		if ((d1 == it2->first && d2 == it2->second) || (d2 == it2->first && d1 == it2->second)) {
			cout << it2->first << ' ' << it2->second << '\n';
			break;
		}
	}
//	uint anot = it->second, lukum = 0;
//	for (auto it2 = pairs.begin(); it2 != pairs.end(); it2++) {
////		if (it2->first == anot || it2->second == anot) ++lukum;
//		lukum += (it2->first == anot) + (it2->second == anot);
//	}
//	if (lukum > 1) {
//		cout << prev << ' ' << anot << '\n';
//	} else {
//		++it;
//		cout << it->first << ' ' << it->second << '\n';
//	}

	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100
79 22
53 70
7 23
91 26
...

correct output
75 45

user output
75 45

Test 2

Group: 1

Verdict: ACCEPTED

input
100
71 84
54 25
91 34
98 30
...

correct output
27 49

user output
27 49

Test 3

Group: 1

Verdict: ACCEPTED

input
100
74 68
86 10
83 56
31 87
...

correct output
67 2

user output
67 2

Test 4

Group: 1

Verdict: ACCEPTED

input
100
85 43
95 8
53 1
29 86
...

correct output
54 60

user output
54 60

Test 5

Group: 1

Verdict: ACCEPTED

input
100
71 69
74 45
8 95
12 32
...

correct output
5 7

user output
5 7

Test 6

Group: 2

Verdict: ACCEPTED

input
100000
95086 86958
87818 74731
27185 49356
54360 7043
...

correct output
60551 58365

user output
60551 58365

Test 7

Group: 2

Verdict: ACCEPTED

input
100000
14011 98742
82421 87350
55194 56454
90097 92904
...

correct output
50997 58566

user output
50997 58566

Test 8

Group: 2

Verdict: ACCEPTED

input
100000
72139 85248
98125 85461
39422 60426
45770 13451
...

correct output
50397 41760

user output
50397 41760

Test 9

Group: 2

Verdict: ACCEPTED

input
100000
32124 96365
8819 68067
90795 31927
45745 64571
...

correct output
56735 39394

user output
56735 39394

Test 10

Group: 2

Verdict: ACCEPTED

input
100000
70709 61209
69548 3671
2215 57335
2539 71294
...

correct output
69366 23793

user output
69366 23793