This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
long long fen[1000001], n;
void update(int pos, int val){
for(int i=pos; i<=n; i+= i&-i)
fen[i]+=val;
}
int sum(int pos){
long long ans=0;
for(int i=pos; i>0; i-= i&-i)
ans+=fen[i];
return ans;
}
int main(){
int i, res, last, curr;
cin >> n;
int a[n];
for(i=1; i<=n; i++)
cin >> a[i];
update(2, a[1]);
res=1;
last=a[1];
for(i=2; i<=n; i++){
curr=a[i];
if(curr<last || (sum(curr)-sum(last+1)>0)) res++;
update(i+1, 1);
last=curr;
}
cout << res;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |