#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 <cstring>↵
↵
using namespace std;↵
↵
int main() {↵
int ll = 1, rr = 1000000;↵
int ans;↵
while (ll <= rr) {↵
int mid = (ll + rr) / 2;↵
cout << mid;↵
string s;↵
cin >> s;↵
if (s == ">=") {↵
ans = mid;↵
ll = mid + 1;↵
}↵
else {↵
rr = mid - 1;↵
}↵
}↵
cout << "! " << ans;↵
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://codeforces.net/gym/101021/problem/1 ↵
↵