Hello Codeforces community!
I have a question regarding question B in the recent CodeTon round.
My solution passed all pretests, but TLE on test 22 in the main tests. My code is below.
void run_case(){ int n, k; cin >> n >> k; vector v(n); for(auto &it : v) cin >> it;
unordered_set<ll> seen;
for(int i = 0; i < n; i++){
if(seen.count(v[i] + k) || seen.count(v[i] - k)){
cout << "YES\n";
return;
}
seen.insert(v[i]);
}
cout << "NO\n";}
I used an unordered_set to keep tracking of the seen elements. However, when I changed it to set, the solution passed main tests too. I have always thought that unordered_set are faster than set. Can someone please explain to me what's happening here?
Thanks for any help!




