#include "nice_lines.h"
#include<bits/stdc++.h>
#define ll int
#define pll pair<ll, ll>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ld long double
#define sz(a) ((ll)(a).size())
using namespace std;
const ld eps=1e-6;
void solve(ll subtask_id, ll n)
{
ll V=1e4, X=V*2+1;
auto calc=[&](ld y){return query(X, y);};
vector <ll> va, vb;
function<void(ld, ld, ld, ld)> DnC=[&](ld l, ld r, ld fl, ld fr)
{
ld mid=(l+r)/2, fm=calc(mid);
if (abs((fl+fr)/2-fm)<eps) return;
if ((r-l)<1.0)
{
ll val=0;
if (l<=round(l)<=r) val=round(l);
if (l<=round(r)<=r) val=round(r);
ll b=val%X, a=(val-b)/X;
if (b<0) b+=X, a--;
if (b>V) b-=X, a++;
va.pb(a), vb.pb(b);
return;
}
DnC(l, mid, fl, fm), DnC(mid, r, fm, fr);
return;
};
ld l=-V*X-V, r=V*X+V;
DnC(l, r, calc(l), calc(r));
the_lines_are(va, vb);
}
Compilation message
nicelines.cpp: In lambda function:
nicelines.cpp:26:18: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
26 | if (l<=round(l)<=r) val=round(l);
| ~^~~~~~~~~~
nicelines.cpp:27:18: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]
27 | if (l<=round(r)<=r) val=round(r);
| ~^~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
440 KB |
Output is correct |
2 |
Incorrect |
1 ms |
448 KB |
Incorrect |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
432 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
444 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
31 ms |
448 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
12 ms |
432 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
31 ms |
448 KB |
Incorrect |
2 |
Halted |
0 ms |
0 KB |
- |