Pagini recente » Cod sursa (job #378638) | Cod sursa (job #1915018) | Cod sursa (job #1543609) | Cod sursa (job #638802) | Cod sursa (job #2046041)
#include <fstream>
using namespace std;
ifstream f("interclasari.in");
ofstream g("interclasari.out");
int a[1000005], b[1000005], sol[1000005], s2[1000005], t, i;
void interclas(int *a, int *b, int *c) {
int i = 1, j = 1;
c[0] = 0;
if (b[0] == 0) {
for (i = 0; i <= a[0]; i++)
c[i] = a[i];
} else if (a[0] == 0) {
for (i = 0; i <= b[0]; i++)
c[i] = b[i];
} else {
while (i <= a[0] && j <= b[0]) {
if (a[i] < b[j]) c[++c[0]] = a[i++];
else if (a[i] > b[j]) c[++c[0]] = b[j++];
else c[++c[0]]=a[i], c[++c[0]] = b[j], i++,j++;
}
while (i <= a[0]) c[++c[0]] = a[i++];
while (i <= b[0]) c[++c[0]] = b[j++];
}
for (i = 0; i <= c[0]; i++)
a[i] = c[i];
}
int main() {
f >> t;
t--;
f >> sol[0];
for (i = 1; i <= sol[0]; i++)
f >> sol[i];
while (t--) {
f >> a[0];
for (i = 1; i <= a[0]; i++)
f >> a[i];
interclas(sol,a,s2);
}
g << sol[0] << '\n';
for (i = 1; i <= sol[0]; i++)
g << sol[i] << ' ';
return 0;
}