๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.62K subscribers
5.59K photos
3 videos
95 files
10.2K 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>
using namespace std;
const int MOD = 1e9 + 7;

int dp[1010][2][2][2];

int findParityCountInRange(string a, string b)
{

    function<int(int, int, int, int, string &)> f = [&](int pos, int even, int odd, int tight, string &s) -> int
    {
        if (pos == s.size())
            return (even == odd) ? 1 : 0;

        int &ans = dp[pos][even][odd][tight];
        if (ans != -1)
            return ans;

        ans = 0;
        int limit = tight ? (s[pos] - '0') : 9;

        for (int digit = 0; digit <= limit; ++digit)
        {
            int newTight = tight && (digit == (s[pos] - '0'));
            if (pos & 1)
                ans = (ans + f(pos + 1, even, (odd + digit) % 2, newTight, s)) % MOD;
            else
                ans = (ans + f(pos + 1, (even + digit) % 2, odd, newTight, s)) % MOD;
        }

        return ans;
    };

    memset(dp, -1, sizeof dp);
    int ansA = f(0, 0, 0, 1, a);
    memset(dp, -1, sizeof dp);
    int ansB = f(0, 0, 0, 1, b);

    return (ansB - ansA + MOD) % MOD;
}

int main()
{
    string a, b;
    cin >> a >> b;

    cout << findSameParityIntegers(a, b) << endl;

    return 0;
}

Meesho โœ…
๐Ÿ‘2
Hi all,
We are hiring for an M Tech VLSI freshers for the Bangalore location. If anyone is interested, Kindly drop your CV to kurigilaramya@juntrantech.com
Qualification: MTech in VLSI design/Embedded/Tele Communication/ECE
Pass out Year : >2023 & 2024
Good communication skills
Notice period_0-30 days
int findMaximumLength(vector<int>& nums){
    int n = nums.size();
    if (n == 0)
        return 0;

    vector<long long> prefix(n), last(n), dp(n, 1);

    prefix[0] = nums[0];
    for (int i = 1; i < n; i++) {
        prefix[i] = prefix[i - 1] + nums[i];
    }

    last[0] = nums[0];

    for (int i = 1; i < n; i++) {
        bool found = false;
        for (int j = i - 1; j >= 0; j--) {
            if (prefix[i] >= last[j] + prefix[j]) {
                dp[i] = dp[j] + 1;
                last[i] = prefix[i] - prefix[j];
                found = true;
                break;
            }
        }

        if (!found){
            last[i] = prefix[i];
        }
    }

    return dp[n - 1];
}
Subarray Sum operation โœ…
Airtel
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;

const int MAXN = 1e5 + 5;

class SegmentTree {
private:
    vector<int> tree, lazy;
    int n;

    void build(int node, int start, int end) {
        if (start == end) {
            tree[node] = 0;
            return;
        }
        int mid = (start + end) / 2;
        build(2 * node, start, mid);
        build(2 * node + 1, mid + 1, end);
        tree[node] = max(tree[2 * node], tree[2 * node + 1]);
    }

    void push(int node, int start, int end) {
        if (lazy[node] != 0) {
            tree[node] += lazy[node];
            if (start != end) {
                lazy[2 * node] += lazy[node];
                lazy[2 * node + 1] += lazy[node];
            }
            lazy[node] = 0;
        }
    }

    void update(int node, int start, int end, int l, int r, int val) {
        push(node, start, end);
        if (start > r || end < l) return;
        if (l <= start && end <= r) {
            lazy[node] += val;
            push(node, start, end);
            return;
        }
        int mid = (start + end) / 2;
        update(2 * node, start, mid, l, r, val);
        update(2 * node + 1, mid + 1, end, l, r, val);
        tree[node] = max(tree[2 * node], tree[2 * node + 1]);
    }

    pair<int, int> query(int node, int start, int end, int l, int r) {
        push(node, start, end);
        if (start > r || end < l) return {-1, -1};
        if (l <= start && end <= r) return {tree[node], start};
        int mid = (start + end) / 2;
        pair<int, int> left = query(2 * node, start, mid, l, r);
        pair<int, int> right = query(2 * node + 1, mid + 1, end, l, r);
        if (left.first >= right.first) return left;
        return right;
    }

public:
    SegmentTree(int size) : n(size) {
        tree.resize(4 * n);
        lazy.resize(4 * n);
        build(1, 0, n - 1);
    }

    void update(int l, int r, int val) {
        update(1, 0, n - 1, l, r, val);
    }

    pair<int, int> query(int l, int r) {
        return query(1, 0, n - 1, l, r);
    }
};

void solve(int N, int Q, vector<vector<int>>& queries) {
    SegmentTree st(N + 1);

    for (const auto& query : queries) {
        int type = query[0];
        if (type == 1 || type == 2) {
            int L = query[1], R = query[2];
            st.update(L, R, 1);
        } else if (type == 3) {
            int C = query[1];
            pair<int, int> result = st.query(C, N);
            cout << result.second << '\n';
        }
    }
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
   
    int T;
    cin >> T;

    while (T--) {
        int N, Q;
        cin >> N >> Q;

        vector<vector<int>> queries(Q);
        for (int i = 0; i < Q; ++i) {
            int type;
            cin >> type;
            if (type == 1 ) {
                int L=1, R;
                cin >> R;
                queries[i] = {type, L, R};
            }
            else if (type == 2) {
                int L, R=N;
                cin >> L ;
                queries[i] = {type, L, R};
            }
             else {
                int C;
                cin >> C;
                queries[i] = {type, C};
            }
        }

        solve(N, Q, queries);
    }

    return 0;
}

Maximum Product Sales โœ…
๐Ÿ‘2
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
public class Solution {
    public static int countOfElement(int[] listInput1, int[] listInput2) {
        HashSet<Integer> set1 = new HashSet<>();
        HashSet<Integer> set2 = new HashSet<>();

     
        for (int num : listInput1) {
            set1.add(num);
        }

       
        for (int num : listInput2) {
            set2.add(num);
        }

      
        int count = 0;
        for (int num : listInput1) {
            if (!set2.contains(num)) {
                count++;
            }
        }
        for (int num : listInput2) {
            if (!set1.contains(num)) {
                count++;
            }
        }

        return count;
    }
}