QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#528349 | #8775. MountainCraft | RngBased# | WA | 1ms | 4056kb | C++17 | 1.2kb | 2024-08-23 13:04:47 | 2024-08-23 13:04:47 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define pll pair<ll, ll>
#define pdd pair<double, double>
#define F first
#define S second
using namespace std;
ll N, Q, W;
int in[100005];
map<pll, int> mp;
multiset<ll> st[2];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> Q >> W;
for (int i = 1; i <= Q; i++)
{
ll x, y;
cin >> x >> y;
if (mp.find(pll(x, y)) == mp.end())
mp[pll(x, y)] = ++N;
int j = mp[pll(x, y)];
in[j] ^= 1;
if (in[j])
{
st[0].insert(y - x);
st[1].insert(y + x);
}
else
{
st[0].erase(st[0].find(y - x));
st[1].erase(st[1].find(y + x));
}
if (st[0].empty())
{
cout << 0 << '\n';
continue;
}
{
double a = *st[0].rbegin(), b = *st[1].rbegin();
double x = (b - a) / 2, y = (a + b) / 2;
double l = max(0.0, x - y), r = min(double(W), x + y);
cout << fixed << setprecision(10) << (r - l) * sqrtl(2) << '\n';
}
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3908kb
input:
3 10 3 2 7 3 9 6
output:
5.6568542495 12.7279220614 12.7279220614
result:
ok 3 numbers
Test #2:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
5 100 31 41 59 26 31 41 59 26 31 41
output:
101.8233764909 120.2081528017 73.5391052434 0 101.8233764909
result:
ok 5 numbers
Test #3:
score: 0
Accepted
time: 0ms
memory: 3852kb
input:
100 10 6 4 2 3 7 6 5 5 3 6 7 5 5 8 10 4 9 8 0 9 9 10 9 3 2 3 10 10 8 4 10 9 0 1 1 7 0 2 3 4 10 3 3 10 7 4 7 5 1 4 0 7 1 9 5 6 8 8 7 4 8 1 3 9 2 1 5 5 2 1 10 9 8 4 0 9 10 7 4 1 9 10 8 6 5 4 1 4 0 9 9 3 4 8 5 10 7 2 8 10 7 10 3 4 2 2 8 5 0 9 5 3 1 4 6 4 0 3 8 1 1 6 3 8 8 4 6 5 10 2 2 2 8 4 6 1 2 4 6 4...
output:
11.3137084990 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.1421356237 14.142...
result:
ok 100 numbers
Test #4:
score: -100
Wrong Answer
time: 0ms
memory: 4056kb
input:
1000 100 95 8 54 8 64 96 47 34 77 47 99 91 45 70 8 6 64 84 48 42 53 14 73 66 38 27 6 52 19 75 33 39 6 24 37 80 27 45 96 48 55 95 67 1 23 78 40 4 76 7 77 22 4 47 41 31 60 54 96 37 79 52 63 40 7 92 17 7 74 12 93 16 87 5 67 43 60 29 71 58 52 41 53 84 38 2 46 87 13 54 54 14 16 93 57 7 91 98 31 23 70 3 9...
output:
18.3847763109 76.3675323681 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 141.4213562373 14...
result:
wrong answer 2nd numbers differ - expected: '41.0121933', found: '76.3675324', error = '0.8620690'