This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub hitonanode/cplib-cpp
#define PROBLEM "https://judge.yosupo.jp/problem/associative_array" #include <iostream> #include <unordered_map> #include <chrono> struct custom_hash { // <https://codeforces.com/blog/entry/62393> static uint64_t splitmix64(uint64_t x) { // http://xorshift.di.unimi.it/splitmix64.c x += 0x9e3779b97f4a7c15; x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; x = (x ^ (x >> 27)) * 0x94d049bb133111eb; return x ^ (x >> 31); } size_t operator()(uint64_t x) const { static const uint64_t FIXED_RANDOM = std::chrono::steady_clock::now().time_since_epoch().count(); return splitmix64(x + FIXED_RANDOM); } }; #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; int main() { std::cin.tie(nullptr), std::ios::sync_with_stdio(false); // std::unordered_map<long long, long long, custom_hash> mp; gp_hash_table<long long, long long, custom_hash> mp; int Q; std::cin >> Q; while (Q--) { int q; std::cin >> q; if (q) { long long k; std::cin >> k; std::cout << mp[k] << '\n'; } else { long long k, v; std::cin >> k >> v; mp[k] = v; } } }
#line 1 "data_structure/test/assosiative_array.test.cpp" #define PROBLEM "https://judge.yosupo.jp/problem/associative_array" #include <iostream> #include <unordered_map> #include <chrono> struct custom_hash { // <https://codeforces.com/blog/entry/62393> static uint64_t splitmix64(uint64_t x) { // http://xorshift.di.unimi.it/splitmix64.c x += 0x9e3779b97f4a7c15; x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; x = (x ^ (x >> 27)) * 0x94d049bb133111eb; return x ^ (x >> 31); } size_t operator()(uint64_t x) const { static const uint64_t FIXED_RANDOM = std::chrono::steady_clock::now().time_since_epoch().count(); return splitmix64(x + FIXED_RANDOM); } }; #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; int main() { std::cin.tie(nullptr), std::ios::sync_with_stdio(false); // std::unordered_map<long long, long long, custom_hash> mp; gp_hash_table<long long, long long, custom_hash> mp; int Q; std::cin >> Q; while (Q--) { int q; std::cin >> q; if (q) { long long k; std::cin >> k; std::cout << mp[k] << '\n'; } else { long long k, v; std::cin >> k >> v; mp[k] = v; } } }