Task: | Forest |
Sender: | >--) ) ) )*> |
Submission time: | 2015-09-16 17:43:32 +0300 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | WRONG ANSWER | 0.05 s | details |
#2 | WRONG ANSWER | 0.05 s | details |
#3 | WRONG ANSWER | 0.06 s | details |
#4 | WRONG ANSWER | 0.05 s | details |
#5 | WRONG ANSWER | 0.05 s | details |
#6 | WRONG ANSWER | 0.06 s | details |
#7 | WRONG ANSWER | 0.05 s | details |
#8 | WRONG ANSWER | 0.05 s | details |
#9 | WRONG ANSWER | 0.05 s | details |
#10 | WRONG ANSWER | 0.05 s | details |
#11 | WRONG ANSWER | 0.06 s | details |
#12 | WRONG ANSWER | 0.06 s | details |
#13 | WRONG ANSWER | 0.06 s | details |
#14 | WRONG ANSWER | 0.06 s | details |
#15 | WRONG ANSWER | 0.06 s | details |
#16 | ACCEPTED | 0.06 s | details |
#17 | WRONG ANSWER | 0.08 s | details |
#18 | ACCEPTED | 0.06 s | details |
#19 | ACCEPTED | 0.05 s | details |
#20 | ACCEPTED | 0.06 s | details |
Code
#include <algorithm> #include <iostream> #include <iterator> #include <numeric> #include <sstream> #include <fstream> #include <cassert> #include <climits> #include <cstdlib> #include <cstring> #include <string> #include <cstdio> #include <vector> #include <bitset> #include <cmath> #include <queue> #include <deque> #include <stack> #include <list> #include <map> #include <set> using namespace std; #define ll long long #define ld long double #define ii pair<int,int> #define si pair<string,int> #define iii pair<int,ii> #define vi vector<int> #define vc vector<char> #define vs vector<string> #define msvs map<string,vs> #define msi map<string,int> #define mss map<string,int> #define us unordered_set #define um unordered_map #define pq priority_queue #define pb push_back #define mp make_pair #define forall(i,a,b) for (int i=a;i<b;i++) #define foreach(v,c) for( typeof( (c).begin()) v = (c).begin(); v != (c).end(); ++v) #define all(a) a.begin(), a.end() #define in(a,b) ( (b).find(a) != (b).end()) #define fill(a,v) memset(a, v, sizeof a) #define sz(a) ((int)(a.size())) #define N (1<<17) #define M 1000000007 #define I 500000004 #define eps 1e-8 vector<pair<ll,ll>> f; int main() { cin.sync_with_stdio(false); int n; cin >> n; ll x,y; cin >> x >> y; for (int i = 0; i < n; i++) { ll xi,yi; cin >> xi >> yi; f.push_back(make_pair(xi,yi)); } int count = n; for (int i = 0; i < n; i++) { pair<ll,ll> t = f[i]; if (t.first-x > 0) { ld k = (ld)(t.second-y)/(t.first-x); ll d = (t.first-x)*(t.first-x)+(t.second-y)*(t.second-y); for (int j = 0; j < n; j++) { if (i == j) continue; pair<ll,ll> t2 = f[j]; if (t2.first-x > 0) { ld k2 = (ld)(t2.second-y)/(t2.first-x); ll d2 = (t2.first-x)*(t2.first-x)+(t2.second-y)*(t2.second-y); if (d2 < d && abs(k-k2) < eps) { count--; break; } } } } else if (t.first-x < 0) { ld k = (ld)(t.second-y)/(t.first-x); ll d = (t.first-x)*(t.first-x)+(t.second-y)*(t.second-y); for (int j = 0; j < n; j++) { if (i == j) continue; pair<ll,ll> t2 = f[j]; if (t2.first-x < 0) { ld k2 = (ld)(t2.second-y)/(t2.first-x); ll d2 = (t2.first-x)*(t2.first-x)+(t2.second-y)*(t2.second-y); if (d2 < d && abs(k-k2) < eps) { count--; break; } } } } else { if (t.first-x > 0) { for (int j = 0; j < n; j++) { if (i == j) continue; pair<ll,ll> t2 = f[j]; if (t2.first-x > 0 && (t2.first-x) < (t.first-x)) { count--; break; } } } else { for (int j = 0; j < n; j++) { if (i == j) continue; pair<ll,ll> t2 = f[j]; if (t2.first-x < 0 && (x-t2.first) < (x-t.first)) { count--; break; } } } } } cout << count << "\n"; return 0; }
Test details
Test 1
Verdict: WRONG ANSWER
input |
---|
152
391446 44026 391450 44026 391448 44028 391450 44028 ... |
correct output |
---|
117 |
user output |
---|
121 |
Test 2
Verdict: WRONG ANSWER
input |
---|
167
-395738 -130738 -395745 -130742 -395739 -130735 -395746 -130731 ... |
correct output |
---|
124 |
user output |
---|
131 |
Test 3
Verdict: WRONG ANSWER
input |
---|
183
200778 460834 200784 460841 200769 460836 200773 460830 ... |
correct output |
---|
132 |
user output |
---|
136 |
Test 4
Verdict: WRONG ANSWER
input |
---|
130
223758 419977 223753 419974 223762 419974 223759 419983 ... |
correct output |
---|
97 |
user output |
---|
99 |
Test 5
Verdict: WRONG ANSWER
input |
---|
168
375864 397759 375855 397764 375855 397757 375866 397758 ... |
correct output |
---|
124 |
user output |
---|
132 |
Test 6
Verdict: WRONG ANSWER
input |
---|
187
-23941 284266 -113941 -30734 -113941 689266 -203941 329266 ... |
correct output |
---|
134 |
user output |
---|
142 |
Test 7
Verdict: WRONG ANSWER
input |
---|
127
260079 -413943 440079 -53943 575079 36057 530079 -773943 ... |
correct output |
---|
98 |
user output |
---|
103 |
Test 8
Verdict: WRONG ANSWER
input |
---|
144
411083 460318 366083 145318 771083 865318 411083 685318 ... |
correct output |
---|
109 |
user output |
---|
112 |
Test 9
Verdict: WRONG ANSWER
input |
---|
135
-460235 328576 -145235 553576 -910235 688576 -280235 58576 ... |
correct output |
---|
98 |
user output |
---|
105 |
Test 10
Verdict: WRONG ANSWER
input |
---|
113
390086 -474936 -59914 -609936 480086 -879936 345086 -204936 ... |
correct output |
---|
86 |
user output |
---|
93 |
Test 11
Verdict: WRONG ANSWER
input |
---|
1921
221773 -175524 -75227 -72024 -75227 -72023 527773 -22524 ... |
correct output |
---|
1866 |
user output |
---|
1874 |
Test 12
Verdict: WRONG ANSWER
input |
---|
1960
-166870 -301876 4130 -45376 4129 -45376 4130 -45377 ... |
correct output |
---|
1891 |
user output |
---|
1900 |
Test 13
Verdict: WRONG ANSWER
input |
---|
1983
490468 217759 85468 357259 791968 631759 76468 150259 ... |
correct output |
---|
1917 |
user output |
---|
1922 |
Test 14
Verdict: WRONG ANSWER
input |
---|
1910
75208 56523 340708 452523 340708 452522 -356792 430023 ... |
correct output |
---|
1863 |
user output |
---|
1867 |
Test 15
Verdict: WRONG ANSWER
input |
---|
1984
-178901 -113059 -381401 12941 -381400 12941 -381401 12940 ... |
correct output |
---|
1932 |
user output |
---|
1935 |
Test 16
Verdict: ACCEPTED
input |
---|
2000
-318296 48998 -322618 47556 -335584 43230 -300516 32354 ... |
correct output |
---|
1794 |
user output |
---|
1794 |
Test 17
Verdict: WRONG ANSWER
input |
---|
2000
-376251 158360 -373641 158980 -386177 169482 -387909 155698 ... |
correct output |
---|
1796 |
user output |
---|
1798 |
Test 18
Verdict: ACCEPTED
input |
---|
2000
4141 -447930 22987 -450556 22988 -450556 8931 -452688 ... |
correct output |
---|
1797 |
user output |
---|
1797 |
Test 19
Verdict: ACCEPTED
input |
---|
2000
-83018 -8575 -84778 -5615 -84778 -5616 -84778 -5614 ... |
correct output |
---|
1819 |
user output |
---|
1819 |
Test 20
Verdict: ACCEPTED
input |
---|
2000
-199417 -261684 -204449 -244760 -219545 -193988 -183653 -255010 ... |
correct output |
---|
1803 |
user output |
---|
1803 |