Codeforces Round #414, rated, Div. 1 + Div. 2 A. Bank Robbery

来源:互联网 发布:淘宝苹果旗舰店 编辑:程序博客网 时间:2024/06/05 11:11
Codeforces Round #414, rated, Div. 1 + Div. 2 A. Bank Robbery
A. Bank Robbery
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

A robber has attempted to rob a bank but failed to complete his task. However, he had managed to open all the safes.

Oleg the bank client loves money (who doesn't), and decides to take advantage of this failed robbery and steal some money from the safes. There are many safes arranged in a line, where the i-th safe from the left is called safe i. There are n banknotes left in all the safes in total. The i-th banknote is in safe xi. Oleg is now at safe a. There are two security guards, one of which guards the safe b such that b < a, i.e. the first guard is to the left of Oleg. The other guard guards the safe c so that c > a, i.e. he is to the right of Oleg.

The two guards are very lazy, so they do not move. In every second, Oleg can either take all the banknotes from the current safe or move to any of the neighboring safes. However, he cannot visit any safe that is guarded by security guards at any time, becaues he might be charged for stealing. Determine the maximum amount of banknotes Oleg can gather.

Input

The first line of input contains three space-separated integers, a, b and c (1 ≤ b < a < c ≤ 109), denoting the positions of Oleg, the first security guard and the second security guard, respectively.

The next line of input contains a single integer n (1 ≤ n ≤ 105), denoting the number of banknotes.

The next line of input contains n space-separated integers x1, x2, ..., xn (1 ≤ xi ≤ 109), denoting that the i-th banknote is located in the xi-th safe. Note that xi are not guaranteed to be distinct.

Output

Output a single integer: the maximum number of banknotes Oleg can take.

Examples
input
5 3 784 7 5 5 3 6 2 8
output
4
input
6 5 751 5 7 92 3
output
0


#include <stdio.h>#include <bits/stdc++.h>#define mod 1000000007#define read(); freopen("C:\\Users\\Administrator\\Desktop\\input.txt","r",stdin);typedef long long ll;using namespace std;int a,b,c,n;int vis[100005];int main(){cin>>a>>b>>c>>n;for(int i=1;i<=n;i++){cin>>vis[i];}sort(vis+1,vis+1+n);a=lower_bound(vis+1,vis+1+n,a)-vis;int l=a-1,r=a;int ans=0;while(l>=1 && vis[l--]>b) ans++;while(r<=n && vis[r++]<c) ans++;cout<<ans<<endl;return 0;}
0 0