Pagini recente » Cod sursa (job #826331) | Cod sursa (job #2189147) | Cod sursa (job #3041477) | Cod sursa (job #1650780) | Cod sursa (job #275233)
Cod sursa(job #275233)
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define M 10006
using namespace std;
char e[2000000];
int a[M], b[M], c[M], nr[M], n, m, p, i, r, j, q;
int main(){
int w, r, s;
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);
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];
}
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;
}