Pagini recente » Cod sursa (job #3177051) | Cod sursa (job #1597672) | Cod sursa (job #1508111) | Cod sursa (job #968021) | Cod sursa (job #2663592)
#include <bits/stdc++.h>
#define MAX 131072
#define MOD 1000000007
using namespace std;
const int NMAX = 10005;
int N, M, P, ans;
int v[NMAX], a[NMAX], b[NMAX], srt[NMAX], c[NMAX];
void read(){
scanf("%d%d%d", &N, &M, &P);
for(int i = 1; i <= N; i++)
scanf("%d", &v[i]);
sort(v + 1, v + N + 1);
for(int i = 1; i <= N; i++)
srt[v[i]] = i;
for(int i = 1 + P - M; i <= P; i++)
scanf("%d", &a[i]);
for(int i = 1; i <= P; i++)
scanf("%d", &b[i]);
}
void bkt(int p, bool eqSup, bool eqDow){
if(p > P){
ans++;
return;
}
int i = srt[a[p]];
if(!eqDow)
i = 1;
for(; i <= N; i++){
if(v[i] > b[p] && eqSup) break;
c[p] = v[i];
bkt(p + 1, c[p] == b[p] && eqSup, c[p] == a[p] && eqDow);
}
}
int main(){
freopen("nextseq.in", "r", stdin);
freopen("nextseq.out", "w", stdout);
read();
bkt(1, true, true);
ans -= 2;
printf("%d", ans);
return 0;
}