Pagini recente » Cod sursa (job #2086686) | Cod sursa (job #1631798) | Cod sursa (job #2984504) | Cod sursa (job #2598219) | Cod sursa (job #1982199)
#include <fstream>
#include <vector>
#include <algorithm>
#define MAX 20000005
using namespace std;
ifstream fi("interclasari.in");
ofstream fo("interclasari.out");
vector <int> V;
vector <int> K;
vector <int> V2;
vector <int> :: iterator it;
vector <int> :: iterator a_it;
vector <int> :: iterator b_it;
int k,n,x,i,j;
void interclasare(vector <int> a,int a_lung,vector <int> b,int b_lung,vector <int> &c)
{
a_it=a.begin(),b_it=b.begin();
while (a_it!=a.end()&&b_it!=b.end())
if (*a_it<=*b_it)
c.push_back(*a_it),a_it++;
else
c.push_back(*b_it),b_it++;
while (a_it!=a.end())
c.push_back(*a_it),a_it++;
while (b_it!=b.end())
c.push_back(*b_it),b_it++;
}
int main()
{
fi>>k;
for (i=1; i<=k; i++)
{
K.clear();
V2.clear();
fi>>n;
for (j=1; j<=n; j++)
{
fi>>x;
K.push_back(x);
}
interclasare(V,V.size(),K,K.size(),V2);
V=V2;
}
fo<<V.size()<<"\n";
for (it=V.begin(); it!=V.end(); it++)
fo<<*it<<" ";
return 0;
}