제출 #1282999

#제출 시각아이디문제언어결과실행 시간메모리
1282999bakhtiyarnMoney (IZhO17_money)C++20
100 / 100
516 ms55228 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int N = 1e6+5;
int a[N];

// for(int i=1; i<=n; i++) 
void solve(){
  int n; cin >> n;
  for(int i=1; i<=n; i++) cin >> a[i];
  
  multiset<int> ms;
  ms.insert(0);
  ms.insert(1e9);
  
  int ans = 0, left = 1;
  for(int i=1; i<=n; i++) {
    if(a[i] < a[i-1]) {
      for(int j=left; j<i; j++) ms.insert(a[j]);
      ans++, left = i;
      continue;
    }
    
    int big = *ms.upper_bound(a[left]);
    if(big >= a[i]) continue;
    
    for(int j=left; j<i; j++) ms.insert(a[j]);
    ans++, left = i;
  }
  cout << ans+1;
}

signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  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...