Pagini recente » Cod sursa (job #2599596) | Cod sursa (job #3272196) | Cod sursa (job #3237496) | Cod sursa (job #2719639) | Cod sursa (job #1145734)
#include <fstream>
#include <cstdio>
#include <string>
#include <cctype>
#include <unordered_set>
using namespace std;
ofstream out ("dtcsu.out");
unordered_set<unsigned> nums;
class Reader {
public:
Reader(string fileName) {
input = fopen(fileName.c_str(),"r");
}
unsigned getUnsigned() {
if(pos >= bufferSize) {
renewBuffer();
}
unsigned nr = 0;
while(!isdigit(buffer[pos])) {
pos++;
if(pos >= bufferSize)renewBuffer();
}
while(isdigit(buffer[pos])){
nr = nr*10 + buffer[pos]-'0';
pos++;
if(pos >= bufferSize)renewBuffer();
}
return nr;
}
private:
void renewBuffer() {
pos = 0;
fread(buffer,1,bufferSize,input);
}
const static size_t bufferSize = 102400;
size_t pos = bufferSize;
FILE* input;
char buffer[bufferSize];
};
int main() {
Reader input("dtcsu.in");
for(size_t i = 0; i < 276997; ++i) {
unsigned nr = input.getUnsigned();
nums.insert(nr);
}
size_t n = input.getUnsigned();
unsigned cnt = 0;
for(size_t i = 0; i < n; ++i) {
unsigned nr = input.getUnsigned();
if(nums.find(nr) != nums.end()){
cnt++;
}
}
out << cnt << '\n';
}