CSES - Putka Open 2015 – 6/6 - Results
Submission details
Task:Tutkat
Sender:Henrik Lievonen
Submission time:2015-12-04 17:47:04 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.05 s1details
#40.05 s1details
#5ACCEPTED0.05 s1details
#60.05 s1details
#70.05 s1details
#8ACCEPTED0.05 s1details
#9ACCEPTED0.05 s1details
#10ACCEPTED0.06 s1details
#11ACCEPTED0.05 s2details
#12ACCEPTED0.06 s2details
#13ACCEPTED0.06 s2details
#140.05 s2details
#150.05 s2details
#160.05 s2details
#17ACCEPTED0.05 s2details
#18ACCEPTED0.05 s2details
#19ACCEPTED0.06 s2details
#20ACCEPTED0.06 s2details
#21ACCEPTED0.06 s3details
#22ACCEPTED0.05 s3details
#23ACCEPTED0.16 s3details
#240.16 s3details
#250.06 s3details
#260.15 s3details
#270.16 s3details
#28ACCEPTED0.16 s3details
#29ACCEPTED0.18 s3details
#30ACCEPTED0.15 s3details

Code

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

using namespace std;

int gcd(int a, int b) {
	if (a == 0)
		return 1;
	return b == 0 ? a : gcd(b, a%b);
}

int main() {
	int n;
	cin >> n;

	if (n <= 2) {
		cout << "QAQ" << endl;
		return 0;
	}

	vector<pair<int, int>> v(n);
	for (auto &p : v) {
		cin >> p.first >> p.second;
	}

	set<pair<int, int>> v2(v.begin(), v.end());

	auto it = v2.begin();
	int dx = it->first;
	int dy = it->second;
	it++;
	dx = it->first - dx;
	dy = it->second - dy;
	dx /= gcd(dx, dy);
	dy /= gcd(dx, dy);
	int lx = it->first;
	int ly = it->second;
	it++;
	for (; it != v2.end(); it++) {
		int x = it->first - lx;
		int y = it->second - ly;

		x /= gcd(x, y);
		y /= gcd(x, y);

		if (x != dx || y != dy) {
			cout << "10-4" << endl;
			return 0;
		}

		lx = it->first;
		ly = it->second;
	}

	cout << "QAQ" << endl;
	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1
4 0

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
2
8 7
0 0

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict: ACCEPTED

input
10
3 -5
2 -5
-5 -5
8 -5
...

correct output
QAQ

user output
QAQ

Test 4

Group: 1

Verdict:

input
10
5 -10
5 1
5 1
5 2
...

correct output
QAQ

user output
10-4

Test 5

Group: 1

Verdict: ACCEPTED

input
10
6 -1
-9 -1
-10 -1
-6 -1
...

correct output
QAQ

user output
QAQ

Test 6

Group: 1

Verdict:

input
10
10 9
-3 -4
-6 -7
-9 -10
...

correct output
QAQ

user output
10-4

Test 7

Group: 1

Verdict:

input
10
-4 6
-3 4
-6 10
-2 2
...

correct output
QAQ

user output
10-4

Test 8

Group: 1

Verdict: ACCEPTED

input
10
0 -5
3 -1
-8 7
-7 -4
...

correct output
10-4

user output
10-4

Test 9

Group: 1

Verdict: ACCEPTED

input
10
-6 9
0 -2
4 -6
-3 -10
...

correct output
10-4

user output
10-4

Test 10

Group: 1

Verdict: ACCEPTED

input
10
-8 6
-2 6
2 7
4 4
...

correct output
10-4

user output
10-4

Test 11

Group: 2

Verdict: ACCEPTED

input
1
-441 481

correct output
QAQ

user output
QAQ

Test 12

Group: 2

Verdict: ACCEPTED

input
2
839 909
-200 80

correct output
QAQ

user output
QAQ

Test 13

Group: 2

Verdict: ACCEPTED

input
1000
-423 925
-472 925
-809 925
326 925
...

correct output
QAQ

user output
QAQ

Test 14

Group: 2

Verdict:

input
1000
-762 -767
-762 200
-762 -334
-762 209
...

correct output
QAQ

user output
10-4

Test 15

Group: 2

Verdict:

input
10
3 7
-2 -3
-4 -7
3 7
...

correct output
QAQ

user output
10-4

Test 16

Group: 2

Verdict:

input
1000
801 799
-260 -262
-67 -69
-554 -556
...

correct output
QAQ

user output
10-4

Test 17

Group: 2

Verdict: ACCEPTED

input
1000
-272 -2
69 -2
751 -2
-52 -2
...

correct output
QAQ

user output
QAQ

Test 18

Group: 2

Verdict: ACCEPTED

input
1000
-489 -811
-643 -824
-277 174
444 765
...

correct output
10-4

user output
10-4

Test 19

Group: 2

Verdict: ACCEPTED

input
1000
489 835
-200 127
-381 726
77 -521
...

correct output
10-4

user output
10-4

Test 20

Group: 2

Verdict: ACCEPTED

input
1000
281 736
-124 -915
786 -855
114 989
...

correct output
10-4

user output
10-4

Test 21

Group: 3

Verdict: ACCEPTED

input
1
-3456 -2745

correct output
QAQ

user output
QAQ

Test 22

Group: 3

Verdict: ACCEPTED

input
2
-251857 -954786
503100 816554

correct output
QAQ

user output
QAQ

Test 23

Group: 3

Verdict: ACCEPTED

input
100000
330161 -746892
220170 -746892
-65044 -746892
806626 -746892
...

correct output
QAQ

user output
QAQ

Test 24

Group: 3

Verdict:

input
100000
722581 -574844
722581 -466372
722581 664802
722581 -105614
...

correct output
QAQ

user output
10-4

Test 25

Group: 3

Verdict:

input
10
-1 -2
-2 -4
-5 -10
3 6
...

correct output
QAQ

user output
10-4

Test 26

Group: 3

Verdict:

input
100000
-203540 -407080
485311 970622
111563 223126
-440181 -880362
...

correct output
QAQ

user output
10-4

Test 27

Group: 3

Verdict:

input
100000
68694 137388
36535 73070
72667 145334
-261754 -523508
...

correct output
QAQ

user output
10-4

Test 28

Group: 3

Verdict: ACCEPTED

input
100000
282590 559482
857807 -597385
957181 139364
-710955 660838
...

correct output
10-4

user output
10-4

Test 29

Group: 3

Verdict: ACCEPTED

input
100000
-228024 -516020
-906860 278692
-460599 616754
194654 637343
...

correct output
10-4

user output
10-4

Test 30

Group: 3

Verdict: ACCEPTED

input
100000
903962 491932
-444159 -408066
-444246 262614
678743 52561
...

correct output
10-4

user output
10-4