Submission #943140

# Submission time Handle Problem Language Result Execution time Memory
943140 2024-03-11T08:41:55 Z Tuanlinh123 Nicelines (RMI20_nicelines) C++17
34.168 / 100
36 ms 612 KB
#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;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll random(ll l, ll r){return l+rng()%(r-l+1);}

const ld eps=1e-7;
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)
        {
            long double c=(calc(r+0.1)-fr-fl+calc(l-0.1))/2;
            long double d=sqrtl(max<long double>(0.0, 0.1*0.1-c*c));
            ll a=round(d/c);
            if (mid<-eps) a=-a;
            ll b=round(mid-X*a);
            va.push_back(a), vb.push_back(b);
            return;
        }
        DnC(l, mid, fl, fm), DnC(mid, r, fm, fr);
        return;
    };
    ld l=-V*X-V-random(0, 10), r=V*X+V+random(0, 10);
    DnC(l, r, calc(l), calc(r));
    the_lines_are(va, vb);
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 440 KB Incorrect
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 456 KB Output is correct
2 Correct 1 ms 444 KB Output is correct
3 Correct 1 ms 456 KB Output is correct
4 Correct 2 ms 436 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 456 KB Output is correct
2 Correct 2 ms 452 KB Output is correct
3 Correct 2 ms 612 KB Output is correct
4 Correct 2 ms 452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 28 ms 448 KB Output is partially correct
2 Partially correct 33 ms 452 KB Output is partially correct
3 Partially correct 36 ms 448 KB Output is partially correct
4 Partially correct 33 ms 440 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 12 ms 448 KB Output is partially correct
2 Partially correct 10 ms 452 KB Output is partially correct
3 Incorrect 11 ms 444 KB Incorrect
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 28 ms 448 KB Output is partially correct
2 Partially correct 33 ms 452 KB Output is partially correct
3 Partially correct 36 ms 448 KB Output is partially correct
4 Partially correct 33 ms 440 KB Output is partially correct
5 Partially correct 12 ms 448 KB Output is partially correct
6 Partially correct 10 ms 452 KB Output is partially correct
7 Incorrect 11 ms 444 KB Incorrect
8 Halted 0 ms 0 KB -