Pagini recente » Cod sursa (job #2167751) | Cod sursa (job #2444307) | Cod sursa (job #2558830) | Cod sursa (job #2421449) | Cod sursa (job #275282)
Cod sursa(job #275282)
#include<stdio.h>
#include<algorithm>
#define M 10006
using namespace std;
int a[M], b[M], c[M], nr[M], n, m, p, i, r, j, q, poz;
char e[2000000];
int main()
{int r, s, w;
freopen("nextseq.in","r",stdin);
freopen("nextseq.out","w",stdout);
scanf("%d %d %d\n", &n, &m, &p);
gets(e); w = strlen(e);
r = 0;
for (i = 0; i < w; ++i){
s = 0;
while (e[i] >= '0' && e[i] <= '9') s *= 10, s +=e[i]- '0', ++i;
a[++r] = s;
}
sort(a+1, a+n+1);
for (i = 1; i <= n; ++i) nr[a[i]] = i-1;
r = 0;
gets(e); w = strlen(e);
for (i = 0; i < w; ++i){
s = 0;
while (e[i] >= '0' && e[i] <= '9') s *= 10, s += e[i]- '0', ++i;
b[++r] = nr[s];
}
r = 0;
gets(e); w = strlen(e);
for (i = 0; i < w; ++i){
s = 0;
while (e[i] >= '0' && e[i] <= '9') s *= 10, s +=e[i]- '0', ++i;
c[++r] = nr[s];
}
b[0] = m; c[0] = p;
for(j = 1; ; ++j)
{
for (i = b[0]; b[i] == n-1; --i);
if (i){
b[i]++;
for (q = i+1; q <= b[0]; ++q) b[q] = 0;
}
else
{
b[0]++;
for (q = 1; q <= b[0]; ++q) b[q] = 0;
}
if (b[0] < c[0]);
else
if (b[0] > c[0]) break;
else{
i = 1;
while (b[i] == c[i]) ++i;
if (b[i] >= c[i]) break;
}
}
printf("%d",j-1);
return 0;
}