Submission #1128153

#TimeUsernameProblemLanguageResultExecution timeMemory
1128153VietnowMoney (IZhO17_money)C++20
45 / 100
1595 ms9040 KiB
#include <bits/stdc++.h> #define yes cout<<"YES\n" #define no cout<<"NO\n" #define int long long #define ff first #define ss second #define pb push_back #define y1 zildjian #define left radio #define right head using namespace std; const int N = 1e6+10; const int INF = 1e18; const int mod = 1e9+7; const int mod1 = 998244353; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int n; int a[N]; void solve(){ cin>>n; for(int i = 1;i<=n;i++){ cin>>a[i]; } int ans = 1; int lst = 1; set<int> s; for(int i = 2;i<=n;i++){ if(a[i]<a[i-1]){ for(int j = lst;j<=i-1;j++){ s.insert(a[j]); } lst = i; ans++; continue; } int x = *upper_bound(s.begin(),s.end(),a[lst]); if(x>a[lst] && x<a[i]){ for(int j = lst;j<=i-1;j++){ s.insert(a[j]); } lst = i; ans++; } } cout<<ans<<'\n'; } signed main(){ // freopen("bootfall.in","r",stdin); // freopen("bootfall.out","w",stdout); ios_base::sync_with_stdio(0); cin.tie(nullptr); // cout.tie(nullptr); int t = 1; // cin>>t; for(int i = 1;i<=t;i++){ // cout<<"Case "<<i<<": "; solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...