最后两个点TLE求助
查看原帖
最后两个点TLE求助
306954
芊枫Thomitics楼主2021/2/3 21:13

不明白50次询问为啥会TLE啊?

#include <bits/stdc++.h>

using namespace std;

inline long long read()
{
    long long x = 0;
    int f = 1;
    char ch = getchar();
    while (ch < '0' || ch > '9')
    {
        if (ch == '-')
            f = -1;
        ch = getchar();
    }
    while (ch >= '0' && ch <= '9')
    {
        x = (x << 1) + (x << 3) + (ch ^ 48);
        ch = getchar();
    }
    return x * f;
}
void write(const long long &x)
{
    if (!x)
    {
        putchar('0');
        return;
    }
    char f[100];
    long long tmp = x;
    if (tmp < 0)
    {
        tmp = -tmp;
        putchar('-');
    }
    long long s = 0;
    while (tmp > 0)
    {
        f[s++] = tmp % 10 + '0';
        tmp /= 10;
    }
    while (s > 0)
    {
        putchar(f[--s]);
    }
}

long long QUEST_PRESENT_NUM;
long long LEFT_BORDER;
long long RIGHT_BORDER = 1E9 + 100;
long long NOW_MID;

int main()
{
    while (1)
    {
        NOW_MID = (LEFT_BORDER + RIGHT_BORDER) >> 1ll;
        write(NOW_MID);
        putchar('\n');
        fflush(stdout);
        QUEST_PRESENT_NUM = read();
        if (QUEST_PRESENT_NUM == 0)
        {
            return 0;
        }
        else if (QUEST_PRESENT_NUM == -1)
        {
            LEFT_BORDER = NOW_MID;
        }
        else if (QUEST_PRESENT_NUM == 1)
        {
            RIGHT_BORDER = NOW_MID;
        }
        else
        {
            printf("进不去!怎么想我都进不去嘛!");
        }
    }
    return 0;
} //LikiBlaze Code
2021/2/3 21:13
加载中...