Need help with solving interactive problems!
Difference between en1 and en2, changed 2,959 character(s)

~~~~~↵

#define LOCAL↵

#undef _GLIBCXX_DEBUG↵

#include <bits/stdc++.h>↵
using namespace std;↵

#define IOS ios::sync_with_stdio(false);cin.tie(0)↵
#define all(x) x.begin(), x.end()↵
#define ff first↵
#define ss second↵
#define MOD 1000000007LL↵
#define rep(i,a,n) for (int i=a ; i<n ; i++)↵
#define per(i,a,n) for (int i=n-1 ; i>=a ; i--)↵
#define LLINF 100000000000000005LL↵
#define INF (int)1e9+1↵
#define endl '\n'↵
#define pb push_back↵

// Copied from Gennady-Korotkevich's template↵

template <typename A, typename B>↵
string to_string(pair<A, B> p);↵

template <typename A, typename B, typename C>↵
string to_string(tuple<A, B, C> p);↵

template <typename A, typename B, typename C, typename D>↵
string to_string(tuple<A, B, C, D> p);↵

string to_string(const string& s) {↵
return '"' + s + '"';↵
}↵

string to_string(const char* s) {↵
return to_string((string)s);↵
}↵

string to_string(bool b) {↵
return (b ? "true" : "false");↵
}↵

string to_string(vector<bool> v) {↵
bool first = true;↵
string res = "{";↵
for (int i = 0; i < static_cast<int>(v.size()); i++) {↵
if (!first) {↵
res += ", ";↵
}↵
first = false;↵
res += to_string(v[i]);↵
}↵
res += "}";↵
return res;↵
}↵

template <size_t N>↵
string to_string(bitset<N> v) {↵
string res = "";↵
for (size_t i = 0; i < N; i++) {↵
res += static_cast<char>('0' + v[i]);↵
}↵
return res;↵
}↵

template <typename A>↵
string to_string(A v) {↵
bool first = true;↵
string res = "{";↵
for (const auto& x : v) {↵
if (!first) {↵
res += ", ";↵
}↵
first = false;↵
res += to_string(x);↵
}↵
res += "}\n";↵
return res;↵
}↵

template <typename A, typename B>↵
string to_string(pair<A, B> p) {↵
return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";↵
}↵

template <typename A, typename B, typename C>↵
string to_string(tuple<A, B, C> p) {↵
return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ")";↵
}↵

template <typename A, typename B, typename C, typename D>↵
string to_string(tuple<A, B, C, D> p) {↵
return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ", " + to_string(get<3>(p)) + ")";↵
}↵

template <typename A, typename B, typename C, typename D, typename E>↵
string to_string(tuple<A, B, C, D, E> p) {↵
return "(" + to_string(get<0>(p)) + ", " + to_string(get<1>(p)) + ", " + to_string(get<2>(p)) + ", " + to_string(get<3>(p)) + "," + to_string(get<4>(p)) + ")";↵
}↵

void debug_out() {↵
cerr << endl;↵
}↵

template <typename Head, typename... Tail>↵
void debug_out(Head H, Tail... T) {↵
cerr << " " << to_string(H);↵
debug_out(T...);↵
}↵

#ifdef LOCAL↵
#define debug(...) cerr << "\n[" << #__VA_ARGS__ << "]:\n", debug_out(__VA_ARGS__)↵
#else↵
#define debug(...) 42↵
#endif↵

// debug tool end↵

using llong = long long;↵
using VI = vector<int>;↵
using VVI = vector<vector<int>>;↵
using VPII = vector<pair<int, int>>;↵
using VLL = vector<long long>;↵
using PII = pair<int, int>
#include <iostream>↵
#include <cstring>↵

using namespace std
;↵

int main() {↵
int ll = 1, rr = 1000000;↵
int ans;↵
while (ll <= rr) {↵
int mid = (ll + rr) / 2;↵
cout << mid;↵
cout.fflush(stdout);↵
string s;↵
cin >> s;↵
if (s == ">=") {↵
ans = mid;↵
ll = mid + 1;↵
}↵
else {↵
rr = mid - 1;↵
}↵
}↵
cout << "! " << ans;↵
cout.fflush(stdout);↵
return 0;↵
}↵
~~~~~↵

This is an easy interactive question that guesses the number 1 to 1000000 by binary search.↵
However, I am new to the concept of interactive problems, and I am getting an idleness TLE on this problem. ↵
Can someone tell me what is causing the Idleness on my code? Thanks in advance.↵

Problem statement : https://mirror.codeforces.com/gym/101021/problem/1 ↵

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English Wonsei 2020-08-07 22:07:12 2959
en1 English Wonsei 2020-08-07 21:57:44 3720 Initial revision (published)