๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
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
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <bits/stdc++.h>
#define ll long long 
using namespace std;
ll help(ll n,vector<vector<ll>>&v,vector<ll>&dp,ll i)
{
    if(i>=n) return 0;
    if(dp[i]!=-1) return dp[i];
    ll t=help(n,v,dp,i+1);
    ll l=i+1;
    ll r=n-1;
    ll res=n;
    while(l<=r)
    {
        ll mid=(l+r)/2;
        if(v[mid][0]>=v[i][1])
        {
            res=mid;
            r=mid-1;
        }
        else l=mid+1;
    }
    ll next=res;
    ll sum=v[i][2]+v[i][1]-v[i][0];
    t=max(t,sum+help(n,v,dp,next));
    return dp[i]=t;
}
ll solve(vector<ll>&pick,vector<ll>&drop,vector<ll>&tip)
{
    ll n=pick.size();
    vector<vector<ll>>rides(n);
    for(ll i=0;i<n;i++)
    {
        rides[i]={pick[i],drop[i],tip[i]};
    }
    sort(rides.begin(),rides.end());
    vector<ll>dp(n+10,-1);
    return help(n,rides,dp,0);
}
signed main()
{
    ll n; cin>>n;
    vector<ll>pick(n),drop(n),tip(n);
    for(ll i=0;i<n;i++) cin>>pick[i];
    for(ll i=0;i<n;i++) cin>>drop[i];
    for(ll i=0;i<n;i++) cin>>tip[i];
    cout<<solve(pick,drop,tip);
    return 0;
}
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
public static int[] teamSize(int[] talent, int talentsCount) {
        int n = talent.length;
        int[] result = new int[n];
        Arrays.fill(result, -1);

        Map<Integer, Integer> talentFreq = new HashMap<>();
        int left = 0, uniqueTalents = 0;

        for (int right = 0; right < n; right++) {
            talentFreq.put(talent[right], talentFreq.getOrDefault(talent[right], 0) + 1);
            if (talentFreq.get(talent[right]) == 1) {
                uniqueTalents++;
            }

            while (uniqueTalents == talentsCount) {
                result[left] = (result[left] == -1) ? right - left + 1 : Math.min(result[left], right - left + 1);

                talentFreq.put(talent[left], talentFreq.get(talent[left]) - 1);
                if (talentFreq.get(talent[left]) == 0) {
                    uniqueTalents--;
                }
                left++;
            }
        }

        return result;
    }
int solve(int n, int m, int k, vector<vector<int>>& profit) {
    vector<vector<int>> dp(n, vector<int>(m, 0));
   
    for (int i = 0; i < n; i++) {
        dp[i][0] = profit[i][0];
    }
   
    for (int j = 1; j < m; j++) {
        vector<int> temp(n, 0);
        for (int i = 0; i < n; i++) {
            for (int x = max(0, i - k); x <= min(n - 1, i + k); x++) {
                if (x != i) {
                    temp[i] = max(temp[i], dp[x][j-1]);
                }
            }
        }
        for (int i = 0; i < n; i++) {
            dp[i][j] = temp[i] + profit[i][j];
        }
    }
   
    int ans = 0;
    for (int i = 0; i < n; i++) {
        ans = max(ans, dp[i][m-1]);
    }
   
    return ans;
}

//max-profit
#include <bits/stdc++.h>
#define ll long long 
using namespace std;
ll solve(vector<vector<ll>>&a)
{
    ll n=a.size();
    if(a.empty())  return 0;
    ll sz=0,pre;
    vector<ll>cur(n);
    for(ll i=0;i<n;i++)
    {
        for(ll j=0;j<n;j++)
        {
            ll temp=cur[j];
            if (!i || !j || a[i][j]==0)
            {
                cur[j]=a[i][j];
            }
            else
            {
                cur[j]=min(pre,min(cur[j],cur[j-1]))+1;
            }
            sz=max(cur[j],sz);
            pre=temp;
        }
    }
    return sz;
}
signed main()
{
    ll n; cin>>n;
    vector<vector<ll>>a(n,vector<ll>(n));
    for(ll i=0;i<n;i++)
     for(ll j=0;j<n;j++) cin>>a[i][j];
    cout<<solve(a);
    return 0;
}


Movelsync cab compliance โœ…
#include <bits/stdc++.h>
using namespace std;

#define int long long
const int MOD=1e9+7;

int32_t main() {

  string src;cin>>src;
  string tar;cin>>tar;
  int k;cin>>k;
 
  int gw=0,bw=0;
 
  for(int i=0;i<src.size();i++){
    string temp = src.substr(i) + src.substr(0,i);
    if(temp == tar) gw++;
    else bw++;
  }
 
  int dp[k+1][2];
  dp[0][0] = (src==tar);
  dp[0][1] = !(src==tar);
 
  for(int i=1;i<=k;i++){
    dp[i][0] = ((dp[i-1][0]*(gw-1))%MOD + (dp[i-1][1]*gw)%MOD)%MOD;
    dp[i][1] = ((dp[i-1][1]*(bw-1))%MOD + (dp[i-1][0]*bw)%MOD)%MOD;
  }
 
  cout<<dp[k][0];
 
  return 0;
}


//NLP enthusiasts โœ…
def doesCircleExist(commands):
    def simulate(command):
        x, y = 0, 0
        dx, dy = 0, 1
        for _ in range(4): 
            for c in command:
                if c == 'G':
                    x += dx
                    y += dy
                elif c == 'L':
                    dx, dy = -dy, dx
                elif c == 'R':
                    dx, dy = dy, -dx
            if x == 0 and y == 0:
                return True
            if dx == 0 and dy == 1: 
                return False
        return False

    results = []
    for command in commands:
        results.append("YES" if simulate(command) else "NO")
    return results

Movie sync Circular route identification โœ…
๐Ÿ‘1
from collections import defaultdict

def maxShared(employees_nodes, employees_from, employees_to, employees_weight):
    graph = defaultdict(lambda: defaultdict(int))

    for i in range(len(employees_from)):
        u, v, w = employees_from[i], employees_to[i], employees_weight[i]
        graph[u][v] += 1
        graph[v][u] += 1
   
    max_product = 0
   
    for i in range(1, employees_nodes + 1):
        for j in graph[i]:
            if graph[i][j] > 1: 
                max_product = max(max_product, i * j)
   
    return max_product


Movelsync Employee shared Interest โœ…
def solve(N, K):
    MOD = 10**9 + 7
    if N > 10*K:
        return 0

    if N == 10*K:
        return 1

    dp = [1] + [0] * N

    for _ in range(10):
        new_dp = [0] * (N + 1)
        for i in range(N + 1):
            for j in range(min(K, N - i) + 1):
                new_dp[i + j] = (new_dp[i + j] + dp[i]) % MOD
        dp = new_dp
   
    return dp[N]
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int maxi = 0;
int numWays = 0;

void backtrack(vector<int>& P, vector<vector<int>>& adj, vector<bool>& vis, int curr, int N) {
    bool all = true;
    for (int i = 0; i < N; ++i) {
        if (!vis[i]) {
            all = false;
            vis[i] = true;

            vector<int> prev;
            for (int nei : adj[i]) {
                if (!vis[nei]) {
                    vis[nei] = true;
                    prev.push_back(nei);
                }
            }

            backtrack(P, adj, vis, curr + P[i], N);

    
            for (int nei : prev) {
                vis[nei] = false;
            }
            vis[i] = false;
        }
    }

    if (all) {
        if (curr > maxi) {
            maxi = curr;
            numWays = 1;
        } else if (curr == maxi) {
            numWays++;
        }
    }
}

int main() {
    int N, M;
    cin >> N >> M;
    vector<int> P(N);
    for (int i = 0; i < N; ++i) {
        cin >> P[i];
    }

    vector<vector<int>> adj(N);
    for (int i = 0; i < M; ++i) {
        int x, y;
        cin >> x >> y;
        x--; y--;
        adj[x].push_back(y);
        adj[y].push_back(x);
    }

    vector<bool> vis(N, false);
    backtrack(P, adj, vis, 0, N);

    cout << maxi << " " << numWays << endl;

    return 0;
}

//phone pe
Cookie salesโœ…
Source : Hola
โค2
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <iostream>
#include <vector>

using namespace std;

long long calc(int base, int times) {
    return base * (1LL << (times - 1));
}

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

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

   
    vector<int> times(n, 1);

  
    for (int i = 0; i < k; ++i) {
        long long max_increase = -1;
        int max_index = -1;
        for (int j = 0; j < n; ++j) {
            long long curr = calc(discounts[j], times[j]);
            long long next = calc(discounts[j], times[j] + 1);
            if (next - curr > max_increase) {
                max_increase = next - curr;
                max_index = j;
            }
        }
        times[max_index]++;
    }

  
    long long max_discount = 0;
    for (int i = 0; i < n; ++i) {
        max_discount |= calc(discounts[i], times[i]);
    }

    cout << max_discount << endl;

    return 0;
}

First trip of Luna โœ…
Phonepe
Source :Hola
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <bits/stdc++.h>
#define ll long long
using namespace std;
struct TrieNode {
    unordered_map<ll, TrieNode*> children;
    ll count;

    TrieNode() : count(0) {}
};
class Trie {
public:
    Trie() {
        root = new TrieNode();
    }
    void insert(vector<ll>& vector)
{
        TrieNode* node = root;
        for (ll num : vector) {
            if (node->children.find(num) == node->children.end()) {
                node->children[num] = new TrieNode();
            }
            node = node->children[num];
            node->count++;
        }
    }
    ll countPrefix(vector<ll>& prefix) {
        TrieNode* node = root;
        for (ll num:prefix)
      {
           if(num==-1) continue;
            if (node->children.find(num) == node->children.end()) {
                return 0;
             }
            node = node->children[num];
       }
        return node->count;
    }
private:
    TrieNode* root;
};
signed main()
{
    ll n,m; cin>>n>>m;
vector<vector<ll>>a(n,vector<ll>(m));
for(ll i=0;i<n;i++)
{
  for(ll j=0;j<m;j++) cin>>a[i][j];
}
Trie trie;
    for(auto& vector:a) {
        trie.insert(vector);
    }
ll q; cin>>q;
vector<vector<ll>>qu(q);
for (ll i=0;i<q;i++)
{
        ll num;
        while(cin>>num && num!=-1)
  {
            qu[i].push_back(num);
        }
    }
for(auto&query:qu)
{
        cout<<trie.countPrefix(query)<<endl;
    }

    return 0;           
}
We're looking for for a full-time intern to work on a computer vision project in the Intelligent Interior team of Mercedes Benz R&D India (MBRDI).

Project duration: 6 months (on-site preferred)
Internship type: Full-time
Topic: 3D computer vision with prior experience in Gaze Estimation and/or Synthetic Data preferred
Minimum Qualification: Pursuing Bachelors/Post-graduation/PhD/Research in relevant disciplines
Preferred Qualification: Pursuing Post-graduation/PhD/Research at top-tier institutes in relevant disciplines

Please drop me an email with a detailed paragraph on your research experience along with your CV at : anuraag.bhattacharya98@gmail.com. DMs might not be entertained.

Background: We at MBRDI are working towards problems in Intelligent Car Interiors. The team is founded on a research mindset and has experience in publishing in some top tier conferences in Computer Vision and Machine learning. We adapt our research into innovative products used for cars.