๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.62K 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
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
string LexicographicOrder(string S) {
string result = "";
while (!S.empty()) {
set<char> seen;
string uniqueChars = "";
for (char c : S) {
if (seen.find(c) == seen.end()) {
uniqueChars += c;
seen.insert(c);
            }
        }
sort(uniqueChars.begin(), uniqueChars.end());
result += uniqueChars;
for (char c : uniqueChars) {
size_t pos = S.find(c);
if (pos != string::npos) {
S.erase(pos, 1);
            }
        }
    }
    return result;
}


Tiger Analytics โœ…
#include <bits/stdc++.h>
using namespace std;
long long comb(int n, int r) {
    if (r > n) return 0;
    if (r == 0 || r == n) return 1;
    long long res = 1;
    for (int i = 0; i < r; i++) {
        res = res * (n - i) / (i + 1);
    }
    return res;
}
long long Balanced(int A, int B, int C) {
    long long s = 0;
    for (int p = 4; p <= min(A, C - 1); p++) {
    int w = C - p;
    if (w >= 1 && w <= B) {
    s += comb(A, p) * comb(B, w);
        }
    }
    return s;
} // Balance Mixture
โœ…
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int gap(char a, char b) {
    return abs(a - b);
}
string longestKInterspaceSubstring( string &word, int k) {
    string temp = "", maxSubstring = "";
    for (size_t i = 0; i < word.length(); i++) {
    temp += word[i];
    if (i < word.length() - 1 && gap(word[i], word[i + 1]) > k) {
    if (temp.length() > maxSubstring.length()) {
    maxSubstring = temp;
    }
    temp = "";
        }
    }
    if (temp.length() > maxSubstring.length()) {
        maxSubstring = temp;
    }

    return maxSubstring;
}


Longest K intersapace substring โœ…
Paypal
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <iostream>
#include <vector>
using namespace std;
const int MOD = 1000000007;

struct node {
    int val;
    int lazy;
    node *left;
    node *right;

    node() {
        left = nullptr;
        right = nullptr;
        lazy = 0;
        val = 0;
    }
};

void build(node *&root, int s, int e) {
    root = new node();
    if (s == e) {
        root->val = 0;
    } else {
        int mid = (s + e) / 2;
        build(root->left, s, mid);
        build(root->right, mid + 1, e);
        root->val = root->left->val + root->right->val;
    }
}

void applyLazy(node* root, int s, int e) {
    if (root->lazy) {
        root->val = (e - s + 1) - root->val;
        if (s != e) {
            if (!root->left) root->left = new node();
            if (!root->right) root->right = new node();
            root->left->lazy ^= 1;
            root->right->lazy ^= 1;
        }
        root->lazy = 0;
    }
}

void update_range(node *root, int s, int e, int l, int r) {
    applyLazy(root, s, e);
    if (s > r || e < l) return;
    if (s >= l && e <= r) {
        root->lazy ^= 1;
        applyLazy(root, s, e);
        return;
    }
    int mid = (s + e) / 2;
    update_range(root->left, s, mid, l, r);
    update_range(root->right, mid + 1, e, l, r);
    root->val = root->left->val + root->right->val;
}

int query(node *root, int s, int e, int l, int r) {
    applyLazy(root, s, e);
    if (s > r || e < l) return 0;
    if (s >= l && e <= r) {
        return root->val;
    }
    int mid = (s + e) / 2;
    int leftQuery = query(root->left, s, mid, l, r);
    int rightQuery = query(root->right, mid + 1, e, l, r);
    return leftQuery + rightQuery;
}

int solve(int N, vector<vector<int>>& B) {
    node* root = nullptr;
    build(root, 0, N - 1);
   
    int sumQueries = 0;
    for (const auto& op : B) {
        int type = op[0];
        int l = op[1] - 1;
        int r = op[2] - 1;

        if (type == 0) {
            update_range(root, 0, N - 1, l, r);
        } else {
            sumQueries += query(root, 0, N - 1, l, r);
            sumQueries %= MOD;
        }
    }
    return sumQueries;
}

int main() {
    int N, Q;
    cin >> N >> Q;
    vector<vector<int>> B(Q, vector<int>(3));
   
    for (int i = 0; i < Q; ++i) {
        cin >> B[i][0] >> B[i][1] >> B[i][2];
    }

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

    return 0;
}


Mask updates
Media. Netโœ…
๐Ÿ‘1
#include <bits/stdc++.h>
using namespace std;
void solve() {
    int T;
    cin >> T;
    while (T--) {
        int n, x;
        cin >> n >> x;
        vector<int> a(n);
        for (int i = 0; i < n; i++) {
            cin >> a[i];
        }
        vector<int> remainderCount(x, 0);
        for (int i = 0; i < n; i++) {
            remainderCount[a[i] % x]++;
        }
        int pairs = 0;
        pairs += remainderCount[0] / 2;
        for (int r = 1; r <= x / 2; r++) {
            if (r == x - r) {
                pairs += remainderCount[r] / 2;
            } else {
                int minCount = min(remainderCount[r], remainderCount[x - r]);
                pairs += minCount;
                remainderCount[r] -= minCount;
                remainderCount[x - r] -= minCount;
            }
        }
        cout << pairs * 2 << endl;
    }
}

int main() {
    solve();
    return 0;
}


christmas celebration โœ…
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll solve(ll n, ll m, vector<vector<string>>& c) {
    vector<vector<ll>> g1(n), g2(n);
    vector<ll> d1(n, 0), d2(n, 0);
    for (const auto& t : c) {
    if (t[0] == "x") {
    ll a = stoll(t[1]) - 1;
    ll b = stoll(t[2]) - 1;
    g1[a].push_back(b);
    d1[b]++;
    } else if (t[0] == "y") {
    ll a = stoll(t[1]) - 1;
    ll b = stoll(t[2]) - 1;
    g2[a].push_back(b);
    d2[b]++;
        }
    }

    auto ts = [&](vector<vector<ll>>& g, vector<ll>& d) -> vector<ll> {
    queue<ll> q;
    for (ll i = 0; i < n; i++) {
    if (d[i] == 0) q.push(i);
    }
    vector<ll> o;
    while (!q.empty()) {
    ll u = q.front();
    q.pop();
    o.push_back(u);
    for (ll v : g[u]) {
    d[v]--;
    if (d[v] == 0) q.push(v);
        }
        }
    return o.size() == n ? o : vector<ll>();
    };

    vector<ll> o1 = ts(g1, d1);
    vector<ll> o2 = ts(g2, d2);
    if (o1.empty() || o2.empty()) return -1;
    vector<ll> r(n, 0), cols(n, 0);
    for (ll i = 0; i < n; i++) {
    for (ll v : g1[o1[i]]) {
    r[v] = max(r[v], r[o1[i]] + 1);
    }
    }
    for (ll i = 0; i < n; i++) {
    for (ll v : g2[o2[i]]) {
    cols[v] = max(cols[v], cols[o2[i]] + 1);
        }
    }
    ll max_r = *max_element(r.begin(), r.end()) + 1;
    ll max_cols = *max_element(cols.begin(), cols.end()) + 1;
    return max_r + max_cols;
}
int main() {
    ll n, m;
    cin >> n >> m;
    vector<vector<string>> c(m, vector<string>(3));
    for (ll i = 0; i < m; i++) {
        cin >> c[i][0] >> c[i][1] >> c[i][2];
    }
    cout << solve(n, m, c) << endl;
    return 0;
}


Stay inside Circle โœ…
๐Ÿ‘1
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll maxcoins(ll A[], ll siz) {
    ll nums[siz + 2];
    ll n = 1;
    for (ll i = 0; i < siz; i++) {
    if (A[i] > 0) {
    nums[n] = A[i];
    n++;
    }
    }
    nums[0] = nums[n] = 1;
    n++;
    ll dp[n][n] = {};
    for (ll j = 2; j < n; j++) {
    for (ll left = 0; left < n - j; left++) {
    ll right = left + j;
    for (ll i = left + 1; i < right; i++) {
    if (left == 0 && right == n - 1)
    dp[left][right] = max(nums[left] * nums[i] * nums[right] + dp[left][i] + dp[i][right], dp[left][right]);
    else
    dp[left][right] = max(nums[left] * nums[right] + dp[left][i] + dp[i][right], dp[left][right]);
            }
        }
    }

    return dp[0][n - 1];
}

int main() {
    ll T;
    cin >> T;
    for (ll t = 1; t <= T; t++) {
    ll siz;
    cin >> siz;
    ll A[siz];
    for (ll i = 0; i < siz; i++) {
    cin >> A[i];
    }
    ll ans = maxcoins(A, siz);
    cout << "#" << t << ans << endl;
    }

    return 0;
}


Samsung โœ…
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;

int solution(const vector<int>& start, const vector<int>& dest, const vector<int>& limit) {
    int N = start.size();
    int K = limit.size();
    int totalCost = 0, maxStation = 0;

    for (int i = 0; i < N; ++i) {
        maxStation = max(maxStation, max(start[i], dest[i]));
        totalCost += abs(start[i] - dest[i]) * 2 + 1;
    }

    if (maxStation >= K) return -1;
    return min(totalCost, limit[maxStation]);
}


MS Task 1โœ…
#include <vector>
#include <unordered_map>
#include <algorithm>
using namespace std;

void dfs(int node, unordered_map<int, vector<pair<int, int>>>& graph, vector<bool>& visited, int& count) {
    visited[node] = true;
    for (auto& neighbor : graph[node]) {
        int nextNode = neighbor.first;
        int direction = neighbor.second;
        if (!visited[nextNode]) {
            count += direction;
            dfs(nextNode, graph, visited, count);
        }
    }
}

int solution(vector<int> A, vector<int> B) {
    unordered_map<int, vector<pair<int, int>>> graph;
    int N = max(*max_element(A.begin(), A.end()), *max_element(B.begin(), B.end()));

    for (int i = 0; i < A.size(); i++) {
        graph[A[i]].push_back({B[i], 1});
        graph[B[i]].push_back({A[i], 0});
    }

    vector<bool> visited(N + 1, false);
    int count = 0;
    dfs(0, graph, visited, count);

    return count;
}


MS Task 2โœ…
#include<bits/stdc++.h>
using namespace std;

long min_moves(long l, long r, long k, long a, long b) {
    if (abs(b - a) % k != 0) return -1;
    return abs(b - a) / k;
}

int main() {
    long l, r, k, a, b;
    cin >> l >> r >> k >> a >> b;
    cout << min_moves(l, r, k, a, b) << endl;
    return 0;
}


Infosys โœ