Submission #645165

#TimeUsernameProblemLanguageResultExecution timeMemory
645165TimDeeNicelines (RMI20_nicelines)C++17
0 / 100
1 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 (x>=y && y<=z) {
            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(mid-1,0);
        ld y=query(mid,0);
        ld z=query(mid+1,0);
        if (x>=y && y<=z) {
            r=mid; break;
        }
        if (x<=y && y<=z) r=mid-1;
        else l=mid;
    }
    int a;
    if (r) a=-b/r;
    else {
        if (query(1,1)==0) a=1;
        else if (query(1,-1)==0) a=-1;
        else a=0;
    }
    for (int i=1; i<=10; ++i) {
        //assert(query(i,a*i+b)==0);
    }
    the_lines_are({a},{b});
}

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

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

}
#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...