Submission #895321

#TimeUsernameProblemLanguageResultExecution timeMemory
895321raul2008487Money (IZhO17_money)C++17
9 / 100
1 ms452 KiB
#include <bits/stdc++.h> #define ll long long #define pll pair<ll,ll> #define pb push_back #define eb emplace_back #define vl vector<ll> #define fi first #define se second #define in insert #define mpr make_pair #define lg(x) __lg(x) #define bpc(x) __builtin_popcount(x) #define all(v) v.begin(), v.end() #define endl "\n" using namespace std; const int mod = 998244353; struct BIT{ ll sz; vl ft; void init(){ sz = 1e6+10; ft.resize(sz+6); } void add(ll idx, ll val){ while(idx <= sz){ ft[idx] += val; idx += (idx & (-idx)); } } ll get(ll idx){ ll ret = 0; while(idx > 0){ ret += ft[idx]; idx -= (idx & (-idx)); } return ret; } ll ask(ll l, ll r){ return get(r) - get(l-1); } }; void solve() { ll n, i, j, ans = 0; cin>>n; vl v(n); set<ll> ms; for(i=0;i<n;i++){ cin>>v[i]; } for(i=0;i<n;i++){ j = i; while(j < n && v[j] <= v[j+1] && (ms.upper_bound(v[j]) == ms.end() || (*ms.upper_bound(v[i]) >= v[j+1])))j++; ans++; while(i <= j){ms.in(v[i]);i++;} i--; } cout << ans << endl; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); //precomp(); ll tst=1; //cin>>tst; while(tst--){ solve(); } } /* ok. */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...