๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.6K subscribers
5.59K photos
3 videos
95 files
10.1K 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<bits/stdc++.h>
using namespace std;
#define ll long long

const int MAX = 1e5+5;
vector<int> tree[MAX];
int A[MAX];
int one[MAX], two[MAX], three[MAX], twothree[MAX];
int oneCnt = 0, twoCnt = 0, threeCnt = 0;
int ans = 0;

void dfs(int u, int parent) {
    if(A[u] == 1) one[u]++;
    else if(A[u] == 2) two[u]++;
    else three[u]++;

    for(auto v : tree[u]) {
        if(v == parent) continue;
        dfs(v, u);

        one[u] += one[v];
        two[u] += two[v];
        three[u] += three[v];
        if(two[v] && three[v]) twothree[u] = 1;
        if(two[v] && three[u - v]) twothree[u] = 1;
        if(two[u - v] && three[v]) twothree[u] = 1;
    }
}

void solve() {
    oneCnt = twoCnt = threeCnt = ans = 0;
    int n; cin >> n;
    for(int i = 1; i <= n; i++) tree[i].clear();
    for(int i = 1; i <= n; i++) {
        cin >> A[i];
        if(A[i] == 1) oneCnt++;
        else if(A[i] == 2) twoCnt++;
        else threeCnt++;
    }

    for(int i = 1; i < n; i++) {
        int u, v; cin >> u >> v;
        tree[u].push_back(v);
        tree[v].push_back(u);
    }

    memset(one, 0, sizeof one);
    memset(two, 0, sizeof two);
    memset(three, 0, sizeof three);
    memset(twothree, 0, sizeof twothree);
    dfs(1, 0);

    for(int u = 1; u <= n; u++) {
        for(auto v : tree[u]) {
            if(two[v] && three[n - v] && !twothree[v] && !twothree[n - v]) ans++;
        }
    }
    cout << ans << "\n";
}

int main() {
    int T; cin >> T;
    while(T--) solve();
    return 0;
}

Splitting edges โœ…
โค1
#include <bits/stdc++.h>
using namespace std;

long long n, m;
long long kmin, kmax;

int main()
{
    cin >> n >> m;
    long long x;
    x = n/m + 1;
    kmin = ((x*(x-1))/2)*(n % m);
    x -= 1;
    kmin += ((x*(x-1))/2)*(m - (n%m));
    x = n-m+1;
    kmax = (x*(x-1))/2;
    cout << kmin << " " << kmax;
    return 0;
}

Telephone Connection โœ…
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Stable Segment Python 3โœ…
int solve(vector<int>& capacity) {
    int n = capacity.size();
    int ans = 0;
    vector<int> arr(n);
    partial_sum(capacity.begin(), capacity.end(), arr.begin());
   
    for (int i = 0; i < n; ++i) {
        auto it = upper_bound(arr.begin() + i, arr.end(), arr[i] + capacity[i]);
        int j = distance(arr.begin(), it);
       
        if (j < n && capacity[i] == capacity[j] && arr[j - 1] - arr[i] == capacity[i]) {
            ans += 1;
        }
    }
   
    return ans;
}

C++โœ…
int pow2(long N) {
    int ans = 0;
    for (int i = 0; i < 64; i++) {
        long x = 1;
        if ((N & (x << i)) > 0) ans++;
    }
    return ans;
}

int minchunks(long total, vector<vector<long>> uploaded) {
   
    sort(uploaded.begin(), uploaded.end());

    int lastChunkNum = 1;
    int ans = 0;
    for (int i = 0; i < uploaded.size(); i++) {
        int start = uploaded[i][0];
        int end = uploaded[i][1];
        ans += pow2(start - lastChunkNum);
        lastChunkNum = end + 1;
    }

    if (uploaded.back()[1] != total) {
        ans += pow2(total - uploaded.back()[1]);
    }

    return ans;
}

C++โœ…
class Solution {
public:
    int lastStoneWeight(vector<int>& stones) {
        vector<int>vect(stones);
        int dum;
        for(int i=0; i<stones.size()-1; i++){
            sort(vect.begin(), vect.end());
            dum = vect[i]-vect[i+1];
            if(vect[i] != vect[i+1]){
                vect.erase(vect.begin());
                vect.erase(vect.begin());
                vect.insert(vect.begin(),dum);
            }
            else{
                vect.erase(vect.begin());
                vect.erase(vect.begin());
            }
       
        }
        if(!vect.empty()){
            return vect[0];
        }else{
            return 0;
        }
    }
};

Nivida โœ…
โค1
Today is very special day, as Bappa is comingโค๏ธโค๏ธ, Happy Ganesh Chaturthi everyone

เค—เคฃเคชเคคเคฟ เคฌเคชเฅเคชเคพ เคฎเฅ‹เคฐเคฟเคฏเคพ โœจ๐ŸŽŠ๐ŸŽ‰โค๏ธ
โค9๐ŸŽ‰3
int main() {
    int n, m;
    cin >> n >> m;

    vector<int> loads(n, 0);
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> servers;

    for (int i = 0; i < n; ++i) {
        servers.push({0, i + 1});
    }

    for (int i = 0; i < m; ++i) {
        int request;
        cin >> request;

        auto min_server = servers.top();
        servers.pop();

        int server_index = min_server.second - 1;

        loads[server_index] += request;
        min_server.first += request;

        servers.push(min_server);

        cout << min_server.second << " ";
    }

    cout << endl;
    return 0;
}

Server โœ…
Amadeus
import math
from bisect import bisect_left, bisect_right

mx = 10**6

spf = [False, False] + [True for i in range(mx)]

for i in range(2, int(math.sqrt(mx)) + 1):
    if spf[i] == True:
        for j in range(i * i, mx + 1, i):
            spf[j] = False

p = []

for i in range(len(spf)):
    if spf[i]:
        p.append(i)

p.sort()
n = len(p)
cnt = 0

N = int(input())

idx = bisect_right(p, N)

a = []

for i in range(1, idx):
    z = 2 ** p[i]
    if (2 < p[i] < z or 2 < z < p[i]) and z <= N:
        cnt += 1
        a.append([2, p[i], 2])

print(cnt)

Mystery keys โœ…
๐Ÿ‘2