Cod sursa(job #1953719)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 4 aprilie 2017 23:12:47
Problema Dtcsu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>
#include <unordered_set>
using namespace std;

unordered_set<long long> filter;
int Q, answer; long long X;

inline long long get_nr(){

    char c = getchar();
    long long number = 0;

    while(!(47 < c && c < 58)){
        c = getchar();
    }
    while(47 < c && c < 58){
        number = number * 10 + (c - '0');
        c = getchar();
    }return number;
}

int main(){

    freopen("dtcsu.in", "r", stdin);
    freopen("dtcsu.out", "w", stdout);

    for(int i = 1; i <= 276997; i++){
        X = get_nr();
        if((X & 1) == 1){
            filter.insert(X);
        }
    }Q = get_nr();

    for(int i = 1; i <= Q; i ++ ){
        X = get_nr();
        if((X & 1) == 0 && (X & (-X)) != 0){
            X /= (X & (-X));
        }
        if(filter.count(X)){
            answer++;
        }
    }printf("%d\n", answer);

    return 0;
}