QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#766140 | #692. Delete the Points | pan_g | WA | 2ms | 4092kb | C++20 | 2.1kb | 2024-11-20 16:21:48 | 2024-11-20 16:21:50 |
Judging History
answer
#include <bits/stdc++.h>
#define endl "\n"
typedef long long i64;
typedef double lb;
signed main(){
std::cin.tie(nullptr) -> sync_with_stdio(false);
int n;
std::cin >> n;
std::cout << "Yes" << endl;
std::map<int, std::vector<int> > mp;
for(int i = 0, x, y;i < n;i++){
std::cin >> x >> y;
mp[x].emplace_back(y);
}
std::cout << std::fixed << std::setprecision(3);
int tx = -1, ty = -1;
auto delete_with_t = [&](int x, int y) -> void {
int len = std::max(std::abs(x - tx), std::abs(y - ty));
int r = std::max(ty, y);
std::cout << x - len << ' ' << r - len << ' ' << x << ' ' << r << endl;
tx = ty = -1;
};
auto delete_pair = [&](int x, int sy, int by) -> void {
lb y = x - (by - sy);
std::cout << y << ' ' << sy << ' ' << x << ' ' << by << endl;
};
for(auto &[x, f] : mp){
sort(f.begin(), f.end());
int i = 0, m = f.size();
if(tx == -1){
for(;i + 1 < m;i += 2) delete_pair(x, f[i], f[i + 1]);
if(m & 1) tx = x, ty = f.back();
}
else{
for(;i + 1 < m && f[i + 1] < ty;i += 2) delete_pair(x, f[i], f[i + 1]);
if(i < m && f[i] <= ty){
int delx = (lb)x - tx;
int dely = ty - f[i];
if(i == m - 1 || f[i + 1] > ty){
delete_with_t(x, f[i]);
i ++;
}
else{
if(delx > dely){
delete_pair(x, f[i], f[i + 1]);
i += 2;
}
else{
delete_with_t(x, f[i]);
i ++;
}
}
}
if(tx >= 0 && i < m){
delete_with_t(x, f[i]);
i ++;
}
for(;i + 1 < m;i += 2) delete_pair(x, f[i], f[i + 1]);
if(i == m - 1) tx = x, ty = f.back();
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3620kb
input:
4 1 1 2 2 5 5 6 6
output:
Yes 1 1 2 2 5 5 6 6
result:
ok OK
Test #2:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
4 0 0 1 2 2 1 4 4
output:
Yes -1 0 1 2 1 1 4 4
result:
ok OK
Test #3:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
4 1 2 3 2 2 1 2 3
output:
Yes 1 1 2 2 2 2 3 3
result:
ok OK
Test #4:
score: 0
Accepted
time: 0ms
memory: 3624kb
input:
6 12 9 1 5 10 14 20 14 15 4 7 9
output:
Yes 1 3 7 9 7 9 12 14 10 4 20 14
result:
ok OK
Test #5:
score: 0
Accepted
time: 0ms
memory: 4056kb
input:
10 39 72 59 52 23 17 2 31 30 0 25 88 2 36 61 23 4 96 59 76
output:
Yes -3.000 31 2 36 -56 17 23 96 -58 0 30 88 39 52 59 72 8 23 61 76
result:
ok OK
Test #6:
score: 0
Accepted
time: 0ms
memory: 3720kb
input:
10 53 95 37 51 84 11 3 39 31 20 37 84 42 27 95 38 6 6 16 19
output:
Yes -27 6 6 39 16 5 31 20 4.000 51 37 84 -15 27 53 95 68 11 95 38
result:
ok OK
Test #7:
score: -100
Wrong Answer
time: 2ms
memory: 4092kb
input:
3000 997371332 135791687 997371332 135791686 997371332 135791685 997371333 135791685 997371333 135791687 997371334 135791687 997371333 135791688 997371331 135791686 997371333 135791689 997371334 135791686 997371334 135791689 997371333 135791684 997371332 135791689 997371331 135791685 997371334 13579...
output:
Yes 997371303.000 135791684 997371304 135791685 997371303 135791708 997371304 135791709 997371304.000 135791685 997371305 135791686 997371301.000 135791694 997371305 135791698 997371304.000 135791707 997371305 135791708 997371304 135791708 997371305 135791709 997371305.000 135791684 997371306 135791...
result:
wrong answer We have 3 point(s) in query 1