Pagini recente » Cod sursa (job #3149561) | Cod sursa (job #2450266) | Cod sursa (job #1190603) | Cod sursa (job #1320534) | Cod sursa (job #169309)
Cod sursa(job #169309)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int N, M, P;
int T[10001];
int X[10001],
A[10001],
B[10001];
int main(int argc, char *argv[]) {
FILE *fi = fopen("nextseq.in", "r");
fscanf(fi, "%d %d %d", &N, &M, &P);
int aux;
for (int i(0); i < N; ++i)
fscanf(fi, "%d", X + i);
sort(X, X + N);
for (int i(0); i < N; ++i)
T[X[i]] = i + 1;
for (int i(0); i < M; ++i) {
fscanf(fi, "%d", &aux);
A[P - M + i + 1] = T[aux];
}
for (int i(0); i < P; ++i) {
fscanf(fi, "%d", &aux);
B[P - P + i + 1] = T[aux];
}
fclose(fi);
int tot(0);
int put(1);
int t(0);
for (int i = P; i >= 0; --i) {
int aux = B[i] - A[i] - t;
t = 0;
if (aux < 0) {
aux += N;
t = 1;
}
tot += aux * put;
put *= N;
}
ofstream fout("nextseq.out");
fout << tot - 1 << endl;
fout.close();
return 0;
}