Cod sursa(job #1031742)

Utilizator MarghescuGabriel Marghescu Marghescu Data 15 noiembrie 2013 18:21:00
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda FMI No Stress 4 Marime 1.12 kb
#include<fstream>
using namespace std;
ifstream f("dtcsu.in");
ofstream g("dtcsu.out");
long long v[276998];
int caut(int li,int ls,long long y)
{

    if(li>ls)
        return 0;
    int mj=li+(ls-li)/2;
    if(v[mj]==y)
        return 1;
    if(v[mj]<y)
        caut(mj+1,ls,y);
    else
        caut(li,mj-1,y);
}
void quicksort(long long v[],int l,int r)
{
    int i=l, j=r;
    long long aux;
    long long pv=v[(l+r)/2];

    while (i<=j)
    {
        while (v[i]<pv)
            i++;
        while (v[j]>pv)
            j--;
        if (i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
    }
    if (l<j)
        quicksort(v,l,j);
    if (i<r)
        quicksort(v,i,r);
    return;
}
int main()
{
    long long x;
    for(int i=1;i<=276997;i++)
    {
        f>>v[i];
    }
    quicksort(v,1,276997);
    int k,count=0;
    f>>k;
    for(int i=1;i<=k;i++)
    {
        f>>x;
        if(caut(1,276997,x))
            count++;
    }
    g<<count;
    f.close();
    g.close();
    return 0;
}