Submission #672939

#TimeUsernameProblemLanguageResultExecution timeMemory
672939Alihan_8Weighting stones (IZhO11_stones)C++17
0 / 100
1075 ms2428 KiB
#include <bits/stdc++.h> // include <ext/pb_ds/assoc_container.hpp> // include <ext/pb_ds/tree_policy.hpp> // using namespace __gnu_pbds; using namespace std; #define all(x) x.begin(), x.end() #define pb push_back // define ordered_set tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update> #define mpr make_pair #define ln '\n' void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);} #define int long long signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int q; cin >> q; set <int> L, R; auto ins = [&](int x, int s){ if ( s == 1 ) L.insert(x); else R.insert(x); }; auto ok = [&](){ auto l = prev(R.end()), r = prev(L.end()); swap(l, r); bool flag = true; while ( true ){ if ( *l > *r ){ flag = false; break; } if ( l == L.begin() ) break; if ( r == R.begin() ){ flag = false; break; } l = prev(l), r = prev(r); } return flag; }; while ( q-- ){ int x, s; cin >> x >> s; ins(x, s); if ( R.empty() ) cout << ">\n"; else if ( L.empty() ) cout << "<\n"; else if ( *R.rbegin() > *L.rbegin() ){ if ( ok() ) cout << "<\n"; else cout << "?\n"; } else{ swap(L, R); if ( ok() ) cout << ">\n"; else cout << "?\n"; swap(L, R); } } cout << '\n'; }

Compilation message (stderr)

stones.cpp: In function 'void IO(std::string)':
stones.cpp:11:29: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 | void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stones.cpp:11:70: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 | void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...