Submission #645194

#TimeUsernameProblemLanguageResultExecution timeMemory
645194TimDeeNicelines (RMI20_nicelines)C++17
11 / 100
2 ms208 KiB
#include "nice_lines.h"
#include <bits/stdc++.h>
using namespace std;
#define ld long double

int n;

void p1() {
    int l=-1e4, r=1e4;
    while (l<r) {
        int mid=(l+r+1)>>1;
        ld x=query(0,mid-1);
        ld y=query(0,mid);
        ld z=query(0,mid+1);
        if (y==0) {
            r=mid; break;
        }
        if (x<=y && y<=z) r=mid-1;
        else l=mid;
    }
    int b=r;
    l=-1e4, r=1e4;
    while (l<r) {
        int mid=(l+r+1)>>1;
        ld x=query(1,mid-1);
        ld y=query(1,mid);
        ld z=query(1,mid+1);
        if (y==0) {
            r=mid; break;
        }
        if (x<=y && y<=z) r=mid-1;
        else l=mid;
    }
    ld x=query(0,b), y=query(1,b);
    assert(x==0);
    if (x==y) {
        the_lines_are({0},{b});
        return;
    }
    int a=r-b;
    /*if (r) {
        assert(b!=0);
        assert((b%r)==0);
        a=-b/r;
    }
    else {
        if (query(1,1)==0) a=1;
        else if (query(1,-1)==0) a=-1;
        else a=0;
    }*/
    the_lines_are({a},{b});
}

void solve(int id, int N) {
    n=N;

    if (n==1) {
        p1(); return;
    }
    exit(1);

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...