Cod sursa(job #1982199)

Utilizator DavidLDavid Lauran DavidL Data 17 mai 2017 21:27:49
Problema Interclasari Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#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;
}