๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.63K subscribers
5.61K photos
3 videos
95 files
10.6K 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
๐Ÿš€ Join Our FinTech Team : Founding Mobile Developer

Location: Gurugram
Type: Full-time position at Gurugram Office
Experience: 0-2 yrs of Experience (Freshers/Recent Graduates can also apply) (Flutter Experience Preferred but any mobile development experience will be good enough)
Qualifications: B.Tech CSE Preferred but if you have worked in FinTech earlier, that would be a bigger plus. (Btw Open to all)
Perks: Competitive compensation and ESOPs ; and an exposure to Trading & FinTech Industry like never before.

Apply Here : https://forms.gle/cW1KK2n4hsqzRvdS7
int mincost(vector<int> &pods,vector<int> &cost){
  map<int,multiset<int>> mp;
  for(int i=0;i<pods.size();i++){
    mp[pods[i]].insert(cost[i]);
  }
  int ans = 0;
  int curr = (*mp.begin()).first,sm = 0;
  multiset<int> se;
  while(1){
    if(se.size()==0){
      if(mp.lower_bound(curr) == mp.end()) break;
      curr = (*mp.lower_bound(curr)).first;
    }

    if(mp.find(curr) != mp.end())
    for(auto &x:mp[curr]){
        se.insert(x);
        sm += x;
    }

    auto it = se.end();
    it--;
    sm -= *it;
    ans += sm;
    se.erase(it);
    curr++;
  }

  return ans;
}

Weird Pod Count โœ…
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool canCoverAllHouses(const vector<int>& houses, int N, int K, int P) {
    int count = 0;
    int i = 0;
    while (i < N && count < K) {
        int location = houses[i] + P;
        count++;
        while (i < N && houses[i] <= location + P) {
            i++;
        }
    }
    return i == N;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
   
    int N, K;
    cin >> N >> K;
   
    vector<int> houses(N);
    for (int i = 0; i < N; ++i) {
        cin >> houses[i];
    }
   
    sort(houses.begin(), houses.end());
   
    int left = 0;
    int right = houses[N-1] - houses[0];
    int result = right;
   
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (canCoverAllHouses(houses, N, K, mid)) {
            result = mid;
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
   
    cout << result << '\n';
   
    return 0;
}
๐Ÿ‘1
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <bits/stdc++.h>
#define ll long long 
using namespace std;
vector<ll> solve(ll n,ll m,vector<ll>&txt,vector<ll>& pat)
{
    vector<ll>mask(UCHAR_MAX+1,~0);
    for (ll i=0;i<m;i++)
    {
        mask[pat[i]]&=~(1U<<i);
    }
    vector<ll>result;
    ll R=~1;
    vector<ll>Rm(2,~1);
    for (ll i=0;i<n;i++)
    {
        ll old=R;
        R|=mask[txt[i]];
        R<<=1;
        ll tmp=Rm[1];
        Rm[1]=(old&(Rm[1]|mask[txt[i]]))<<1;
        old=tmp;
        if((Rm[1]&(1U<<m))==0)
        {
            result.push_back(i-m+2);
        }
    }
    return result;
}
signed main()
{
    ll n,m; cin>>n>>m;
    vector<ll>txt(n),pat(m);
    for(ll i=0;i<n;i++) cin>>txt[i];
    for(ll i=0;i<m;i++) cin>>pat[i];
    auto ans=solve(n,m,txt,pat);
    cout<<ans.size()<<endl;
    for(auto it:ans) cout<<it<<" ";
    return 0;
}



Phonepe โœ…
Find my file
#include <iostream>
#include <vector>
#include <unordered_set>
#include <string>
using namespace std;


bool containsDislikedDigits(int number, const unordered_set<int>& dislikedDigits) {
    while (number > 0) {
        if (dislikedDigits.find(number % 10) != dislikedDigits.end()) {
            return true;
        }
        number /= 10;
    }
    return false;
}

int solve(int N, int k, vector<int>& d) {
    unordered_set<int> dislikedDigits(d.begin(), d.end());
   
    while (containsDislikedDigits(N, dislikedDigits)) {
        ++N;
    }
   
    return N;
}

int main() {
    int N, k;
    cin >> N >> k;

    vector<int> d(k);
    for (int i = 0; i < k; ++i) {
        cin >> d[i];
    }

    int result = solve(N, k, d);
    cout << result << endl;

    return 0;
}

//minimum amount
Increffโœ…
def maxShared(friends_nodes, friends_from, friends_to, friends_weight):
    interests = {}

    for i in range(len(friends_from)):
        pair = tuple(sorted([friends_from[i], friends_to[i]]))
        if pair not in interests:
            interests[pair] = set()
        interests[pair].add(friends_weight[i])

    max_shared = max(len(interests[pair]) for pair in interests)
    max_pairs = [pair for pair in interests if len(interests[pair]) == max_shared]

    max_product = max(pair[0] * pair[1] for pair in max_pairs)
   
    return max_product
def canAchieve(min_attention, attention, m, k):
    n = len(attention)
    diff = [0] * (n + 1)
    current_add = 0
    workshops_used = 0
   
    for i in range(n):
        current_add += diff[i]
        if attention[i] + current_add < min_attention:
            increment = min_attention - (attention[i] + current_add)
            workshops_used += increment
            if workshops_used > m:
                return False
            if i + k < n:
                diff[i + k] -= increment
            current_add += increment
   
    return workshops_used <= m

def maximizeMinAttention(attention, m, k):
    left = min(attention)
    right = max(attention) + m
   
    while left < right:
        mid = (left + right + 1) // 2
        if canAchieve(mid, attention, m, k):
            left = mid
        else:
            right = mid - 1
   
    return left
โค1