제출 #479974

#제출 시각아이디문제언어결과실행 시간메모리
479974Evang콤보 (IOI18_combo)C++17
30 / 100
73 ms484 KiB
#include <bits/stdc++.h> using namespace std; #ifdef _DEBUG #define dout(x) clog << "Line " << __LINE__ << ": " << #x << "=" << (x) << el #else #define dout(x) #endif #define mp(a, b) make_pair(a, b) #define mt(args...) make_tuple(args) #define pb(x) push_back(x) #define eb(args...) emplace_back(args) #define ff first #define ss second #define DIE exit(0) template<typename T> using vc = vector<T>; template<typename T> using uset = unordered_set<T>; template<typename A, typename B> using umap = unordered_map<A, B>; template<typename T, typename Comp> using pq = priority_queue<T, vc<T>, Comp>; template<typename T> using maxpq = pq<T, less<T>>; template<typename T> using minpq = pq<T, greater<T>>; using db = double; using ld = long double; using ll = long long; using ull = unsigned long long; using pi = pair<int, int>; using pll = pair<ll, ll>; using vi = vc<int>; using vll = vc<ll>; using vpi = vc<pi>; using vpll = vc<pll>; using str = string; constexpr char el = '\n'; constexpr char sp = ' '; constexpr int inf = 0x3f3f3f3f; constexpr ll llinf = 0x3f3f3f3f3f3f3f3fLL; // --------------------------------------------------------------------- const char c[] = {'A', 'B', 'X', 'Y'}; int press(str p); str guess_sequence(int n){ str s; while(s.size()<n){ int L = 0, R = 3; while(L<R){ int m = (L+R)/2; str t; for(int i = L; i <= m; ++i) t += s + c[i]; if(press(t)>s.size()) R = m; else L = m+1; } s += c[L]; } return s; } #ifdef _DEBUG signed main() { ios::sync_with_stdio(0); int n; cin >> n; cout << guess_sequence(n); } int press(string p){ cout << p << el; int ans; cin >> ans; return ans; } #endif

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'str guess_sequence(int)':
combo.cpp:54:16: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   54 |  while(s.size()<n){
      |        ~~~~~~~~^~
combo.cpp:61:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |    if(press(t)>s.size())
      |       ~~~~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...