Cod sursa(job #1854079)

Utilizator georgerapeanuRapeanu George georgerapeanu Data 22 ianuarie 2017 13:15:20
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda antr5 Marime 1 kb
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cctype>
#define LEN 4096
#define MOD 1234567
using namespace std;
FILE *f;
FILE *g=fopen("dtcsu.out","w");
int rez;
long long Q,val;
vector<int> H[MOD];
char buffer[LEN];
int ind;
void readinit(char *c)
{
    f=fopen(c,"r");
    ind=LEN-1;
}
char getch()
{
    ind++;
    if(ind==LEN) {fread(buffer,1,LEN,f);ind=0;}
    return buffer[ind];
}
long long getnext()
{
    char c;
    c=getch();
    long long nr=0;
    while(!isdigit(c))
        c=getch();
    while(isdigit(c))
    {
        nr=nr*10+c-'0';
        c=getch();
    }
    return nr;
}
int main()
{
    readinit("dtcsu.in");
    for(int i=1;i<=276997;i++)
    {
        val=getnext();
        H[val%MOD].push_back(val);
    }
    Q=getnext();
    for(int i=1;i<=Q;i++)
    {
        val=getnext();
        if(find(H[val%MOD].begin(),H[val%MOD].end(),val)!=H[val%MOD].end())
            rez++;
    }
    fprintf(g,"%d",rez);
    return 0;
}