Submission #671522

#TimeUsernameProblemLanguageResultExecution timeMemory
671522Alihan_8Money (IZhO17_money)C++17
100 / 100
1050 ms61940 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 n; cin >> n; vector <int> p(n); for ( auto &i: p ) cin >> i; int cnt = 0; const int inf = numeric_limits <int>::max(); set <int> st{-inf, inf}; for ( int i = 0; i < n;){ auto l = st.lower_bound(p[i]); l--; auto r = st.upper_bound(p[i]); int j = i; while ( j < n and *l <= p[j] and *r >= p[j] ){ if ( j > i and p[j] < p[j-1] ) break; j++; } j--; cnt++; for ( int k = i; k <= j; k++ ) st.insert(p[k]); i = j+1; } cout << cnt; cout << '\n'; }

Compilation message (stderr)

money.cpp: In function 'void IO(std::string)':
money.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);}
      |                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
money.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...