Pagini recente » Cod sursa (job #106438) | Cod sursa (job #1346982) | Cod sursa (job #2117070) | Cod sursa (job #2052321) | Cod sursa (job #1746986)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
FILE *f = fopen( "dtcsu.in", "r" );
FILE *g = fopen( "dtcsu.out", "w" );
const int MAXR = 1000;
using LL = long long;
char r[MAXR];
int nr = MAXR - 1;
LL x;
LL Q;
LL rez;
vector<LL> v;
void Get( LL& x );
void Next();
int main()
{
int i, j;
for ( i = 1; i <= 276997; i++ )
{
Get(x);
if ( x % 2 != 0 )
v.push_back(x);
}
Get(Q);
for ( i = 1; i <= Q; i++ )
{
Get(x);
if ( x > 0 )
x /= ( x & (-x) );
if ( find(v.begin(), v.end(), x) != v.end() )
rez++;
}
fprintf( g, "%lld\n", rez );
fclose(f);
fclose(g);
return 0;
}
void Get( LL& x )
{
for ( ; r[nr] < '0' || r[nr] > '9'; Next() );
for ( x = 0; r[nr] >= '0' && r[nr] <= '9'; Next() )
x = ( x * 10LL ) + ( 1LL*( r[nr] - '0' ) );
}
void Next()
{
if ( ++nr == MAXR )
{
std::fread( r, 1, MAXR, f );
nr = 0;
}
}