Cod sursa(job #3319963)

Utilizator calinulCalin Cernat calinul Data 3 noiembrie 2025 22:07:06
Problema Dtcsu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

const int NR = 276997;
long long v[NR + 1];

FILE *fin, *fout;

long long rLL() {
  long long rez = 0;
  char ch;
  while ( !isdigit( ch = fgetc( fin ) ) );
  do
    rez = rez * 10 + ch - '0';
  while ( isdigit( ch = fgetc( fin ) ) );
  return rez;
}

bool exista( long long x ) {
  int st = 0, dr = NR, mj;
  while ( st + 1 < dr ) {
    mj = (st + dr) / 2;
    if ( v[mj] <= x )
      st = mj;
    else
      dr = mj;
  }
  return v[st] == x;
}

int main() {
  int q, i, ans = 0;

  fin = fopen( "dtcsu.in", "r" );
  for ( i = 0; i < NR; i++ )
    v[i] = rLL();
  sort( v, v + NR );
  q = rLL();
  for ( i = 0; i < q; i++ )
    ans += exista( rLL() );
  fclose( fin );

  fout = fopen( "dtcsu.out", "w" );
  fprintf( fout, "%d\n", ans );
  fclose( fout );

  return 0;
}