80分 WA求调,玄关
查看原帖
80分 WA求调,玄关
1030559
tzzl3035楼主2024/10/14 21:55

rt

#include <bits/stdc++.h>

int main() {
  std::ios::sync_with_stdio(0);
  std::cin.tie(nullptr);

  std::array<int, 100003> dd, f;
  int n = 1;
  for(; std::cin >> dd[n]; ++n) ;
  f.fill(0);
  --n, f[0] = 0x3f3f3f;
  int ans1 = 0, cnt1 = 0;
  for(int i = 1; i <= n; ++i) 
  {
    ++cnt1;
    for(; f[cnt1-1] < dd[i]; --cnt1) ;
    f[cnt1] = dd[i], ans1 = std::max(ans1, cnt1);
  }
  std::cout << ans1 << '\n';
  std::vector<int> ds;
  ds.push_back(-1);
  for(int i = 1; i <= n; ++i) 
  {
    if(ds.back() < dd[i]) 
      ds.push_back(dd[i]);
    else 
    {
      int ind = ds.size();
      for(; dd[i] <= ds[ind-1]; --ind) ;
      ds[ind] = dd[i];
    }
  }
  std::cout << ds.size() - 1;


  return 0;
}

提交记录

2024/10/14 21:55
加载中...