#include #include using namespace std; /* * Fenwick Treeの実装. * 区間[1, n]において, いわゆるfoldlの操作を高速化することができる. */ template class FenwickTree { public: vector elt_; int n_; FenwickTree() { } FenwickTree(int n) { elt_ = vector(n + 1); n_ = n; for (int i = 0; i <= n_; i++) { elt_[i] = 0; } } void add(int i, T x) { while (i <= n_) { elt_[i] += x; i += i & -i; } } T query(int i) { T s = 0; while (i > 0) { s += elt_[i]; i -= i & -i; } return s; } }; const int kMAX_N = 100010; int N; int a[kMAX_N]; void Solve() { FenwickTree tree(N); int ans = 0; for (int i = 0; i < N; i++) { tree.add(a[i], 1); if (tree.query(N) - tree.query(a[i]) > 0) { ans++; } } cout << ans << endl; } int main() { cin.tie(0); ios::sync_with_stdio(false); cin >> N; for (int i = 0; i < N; i++) { cin >> a[i]; } Solve(); return 0; }