๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.52K subscribers
5.55K photos
3 videos
95 files
9.64K links
๐ŸšฉMain Group - @SuperExams
๐Ÿ“Job Updates - @FresherEarth

๐Ÿ”ฐAuthentic Coding Solutions(with Outputs)
โš ๏ธDaily Job Updates
โš ๏ธHackathon Updates & Solutions

Buy ads: https://telega.io/c/cs_algo
Download Telegram
int par[100005];
int find_par(int u) {
if(par[u] < 0) return u;
par[u] = find_par(par[u]);
return par[u];
}
bool merge(int u, int v) {
u = find_par(u), v = find_par(v);
if(u == v) return false;
if(par[u] > par[v]) swap(u, v);
par[u] += par[v];
par[v] = u;
return true;
}
set<int> g[100005];
vector<int> recoverDeadPods(int n, vector<vector<int>> connections, vector<vector<int>> queries) {
int p = 0;
for(auto x : connections) {
  p = max(p, x[0]);
  p = max(p, x[1]);
}
for(auto x : queries) {
  p = max(p, x[0]);
  p = max(p, x[1]);
}

for(int i = 1; i <= p; i++) par[i] = -1;
for(auto x : connections) {
  merge(x[0], x[1]);
}

for(int i = 1; i <= p; i++) {
  int u = find_par(i);
  g[u].insert(i);
}

vector<int> ans;
for(auto x : queries) {
  if(x[0] == 1) {
   int u = find_par(x[1]);

   if(g[u].empty()) ans.push_back(-1);
   else {
    auto iter = g[u].find(x[1]);
    if(iter != g[u].end()) ans.push_back(x[1]);
    else ans.push_back(*g[u].begin());
   }
  } else {
   int u = find_par(x[1]);
   auto iter = g[u].find(x[1]);
   if(iter != g[u].end()) g[u].erase(iter);
  }
}
return ans;
}

Pods Cisco โœ…
def getMinTime(n, cache):
    # Write your code here
    def solve(mid):
        h = {}
        for i in cache:
            h[i] = 1+h.get(i,0)
        extrawork = 0
        cnt = 0
        for i in range(1,n+1):
            if h.get(i,0) > mid:
                extrawork += h[i]-mid
            else:
                cnt += (mid-h.get(i,0))//2
        return cnt>=extrawork
    l,r = 1, 2*len(cache)
    while l<=r:
        mid = (l+r)//2
        if solve(mid):
            ans = mid
            r = mid-1
        else:
            l = mid+1
    return ans

           
    l,r = 1, len(cache)
    while l<=r:
        mid = (l+r)//2
        if solve(mid):
            ans = mid
            r = mid-1
        else:
            l = mid+1
    return ans

Min time
Cisco โœ