๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.63K 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
sort(task.begin(), task.end());
multiset<int> s;
long long sum = 0;
int ans = 0;

for (int i = 0; i < n; i++) {
    sum += 1LL * task[i][1];
    s.insert(-task[i][1]);
    long long time = 2LL * task[i][0];
   
    while (!s.empty() && sum + time > 1LL * t) {
        sum += 1LL * (*s.begin());
        s.erase(s.begin());
    }
   
    ans = max(ans, (int)s.size());
}

return ans;

Hurry โœ…
def solve(S1, S2):
    L1 = len(S1)
    L2 = len(S2)
    result = []
   
    for i in range(L2):
        if S2[i] == 'T':
            result.append(S1)
        else:
            result.append('A' * L1)
   
    return ''.join(result)[:L1 + L2 - 1]


String generation โœ…
๐Ÿ‘1
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

ll solve(int n, int m, vector<ll> f, vector<ll> b) {
    vector<pair<ll, int>> v;
    for(int i=0; i<n+m; i++) {
        v.push_back({min(f[i], b[i]), f[i] <= b[i]});
    }

    sort(v.begin(), v.end());

    int s = 0, e = 0;
    ll cost = 0;
    for(int i=n+m-1; i>=0; i--) {
        if((v[i].second && s < n) || e == m) {
            s++;
            cost += f[i];
        } else {
            e++;
            cost += b[i];
        }
    }

    if(s < n || e < m) {
        return -1;
    }

    return cost;
}

int main() {
    int n, m;
    cin >> n >> m;
    vector<ll> f(n+m), b(n+m);
    for(int i=0; i<n+m; i++) {
        cin >> f[i];
    }
    for(int i=0; i<n+m; i++) {
        cin >> b[i];
    }

    cout << solve(n, m, f, b) << endl;

    return 0;
}

Hiring Drive โœ…
def solution(A, B):
    min_extra_chocolates = float('inf')
   
    upper_bound = B // A + 2
   
    for k in range(1, upper_bound + 1):
        A_plus_X = (B + k - 1) // k
        X = A_plus_X - A
       
        if X < 0:
            continue
       
        Y = k * (A + X) - B
       
        if Y < 0:
            continue
       
        min_extra_chocolates = min(min_extra_chocolates, X + Y)
   
    return min_extra_chocolates

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

int sum(int s, int e, vector<int>& v){
    unordered_map<int, int> prev;
    int res = 0, curr = 0;
    for (int i = s; i < e; i++) {
        curr += v[i];
        if (curr == 0)
            res++;

        if (prev.find(curr) != prev.end())
            res += (prev[curr]);
        prev[curr]++;
    }

    return res;
}

long getMedianSubarrays(vector<int>& s, int k){
    int n = s.size();
    vector<int> small(n, 0), gre(n, 0);
    for (int i = 0; i < n; i++) {
        small[i] = s[i] < s[k - 1];

        gre[i] = s[i] > s[k - 1];
    }
    vector<int> diff(n, 0);
    for (int i = 0; i < n; i++)
        diff[i] = small[i] - gre[i];
    long v1 = sum(0, n, diff);
    long v2 = sum(0, k - 1, diff);
    long v3 = sum(k, n, diff);
    return v1 - v2 - v3;
}

int main(){
    vector<int> arr={5, 3, 1, 4, 7, 7};
    int K = 4;
    cout << getMedianSubarrays(arr, K);
}

Sport week in Hackerland โœ…
๐Ÿ‘1
#include <bits/stdc++.h>
using namespace std;

string findTheString(vector<vector<int>>& lcp) {
    int n = lcp.size();
    string s(n, 'a');
    set<char> used;
   
    auto validate = [&](int i, int j) {
        return lcp[i][j] == (int)min(s.length(), s.length());
    };
   
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (!validate(i, j)) return "Impossible";
            if (lcp[i][j] > 0) {
                s[j] = s[i];
                used.insert(s[j]);
            }
        }
    }
   
    if (used.size() > 26) return "Impossible";
   
    char next_char = 'a';
    for (char c : used) {
        if (next_char > 'z') return "Impossible";
        replace(s.begin(), s.end(), c, next_char);
        next_char++;
    }
   
    return s;
}


Tekion โœ…
def photoAlbum(index_count, index, identity_count, identity):
    output = [0] * index_count
    for i in range(index_count):
        output[i] = identity[index[i]]
    return output

Schrodinger โœ…
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
set<ll> primes(ll n)
{
    map<ll,ll>mp;
    set<ll>st;
    while (n % 2 == 0)
    {
        mp[2]++;
        n = n/2;
    }
    for (int i = 3; i <= sqrt(n); i = i + 2)
    {
        while (n % i == 0)
        {
            mp[i]++;
            n = n/i;
        }
    }
    if (n > 2)
        mp[n]++;
    for(auto it:mp){
        if(it.ss%2==1){
            st.insert(it.ff);
        }
    }
    return st;
}
ll getNonPerfectPairs(ll n, vl arr,ll k){
    map<set<ll>,ll>mp;
    ll cnt=0;
    for(int i=0;i<n;i++){
        set<ll>temp=primes(arr[i]);
        mp[temp]++;
    }
    vl ans;
    for(auto it:mp){
        ans.pb(it.ss);
    }
    sort(all(ans));
    priority_queue<ll>pq;
    for(int i=0;i<ans.size();i++){
        pq.push({ans[i]});
    }
    debug(ans);
    while(pq.size()>1){
        ll x=pq.top();
        pq.pop();
        ll y=pq.top();
        pq.pop();
        cnt++;
        if(x-1>0){
            pq.push(x-1);
        }
        if(y-1>0){
            pq.push(y-1);
        }
    }  
    ll temp=0;
    if(pq.size()>0){
        temp=pq.top();
    }
    debug(temp);
    ll mini=min(k,temp/2);
    cnt+=mini;
    cout<<cnt<<endl;
}

Schrodinger โœ…
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
def updatePrefixSum(prefixSum, x1, y1, x2, y2, h):
    prefixSum[y1][x1] += h
    if x2 + 1 < len(prefixSum[0]):
        prefixSum[y1][x2 + 1] -= h
    if y2 + 1 < len(prefixSum):
        prefixSum[y2 + 1][x1] -= h
    if x2 + 1 < len(prefixSum[0]) and y2 + 1 < len(prefixSum):
        prefixSum[y2 + 1][x2 + 1] += h

def calculateTotalWater(prefixSum, x1, y1, x2, y2):
    total = 0
    for i in range(y1, y2 + 1):
        for j in range(x1, x2 + 1):
            if i > 0:
                prefixSum[i][j] += prefixSum[i - 1][j]
            if j > 0:
                prefixSum[i][j] += prefixSum[i][j - 1]
            if i > 0 and j > 0:
                prefixSum[i][j] -= prefixSum[i - 1][j - 1]
            total += prefixSum[i][j]
    return total

def rainInRectangle():
    n, m, k, q = map(int, input().split())
    prefixSum = [[0] * (n + 1) for _ in range(m + 1)]

    for _ in range(k):
        x1, y1, x2, y2, h = map(int, input().split())
        updatePrefixSum(prefixSum, x1 - 1, y1 - 1, x2 - 1, y2 - 1, h)

    results = []
    for _ in range(q):
        x1, y1, x2, y2 = map(int, input().split())
        result = calculateTotalWater(prefixSum, x1 - 1, y1 - 1, x2 - 1, y2 - 1)
        results.append(result)

    return results


Phonepe โœ…
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;
bool cmp(const string& s, const string& t) {
    if (s.size() == t.size()) {
        return s < t;
    }
    return s.size() < t.size();
}
void SolvePuzzle(int n, vector<string>& str) {
    vector<string> ans;
    for (int i = 0; i < n; i++) {
        string s = str[i];
        int j = 0;
        while (j < s.size()) {
            string temp;
            while (j < s.size() && s[j] >= '0' && s[j] <= '9') {
                temp += s[j];
                j++;
            }
            if (!temp.empty()) {
                string frzi = "";
                string rest = "0";
                bool xx = false;
                for (int k = 0; k < temp.size(); k++) {
                    if (temp[k] == '0' && !xx) {
                        continue;
                    } else {
                        frzi += temp[k];
                        xx = true;
                    }
                }
                if (!xx) {
                    ans.push_back(rest);
                } else {
                    ans.push_back(frzi);
                }
            }
            j++;
        }
    }
    sort(ans.begin(), ans.end(), cmp);
    for (const auto& str : ans) {
        cout << str << endl;
    }
}

int main() {
    int n;
    cin >> n;
    vector<string> str(n);
    for (int i = 0; i < n; ++i) {
        cin >> str[i];
    }
    SolvePuzzle(n, str);
   
    return 0;
}

Amelia โœ…
Tesco
def solution(laps):
    drivers = {}
    eliminated = []

    for lap in laps:
        slowest = float('-inf')
        toRemove = []

        for info in lap:
            name, time = info.split()
            time = int(time)
           
            drivers[name] = min(drivers.get(name, time), time)
           
            if drivers[name] > slowest:
                slowest = drivers[name]
                toRemove = [name]
            elif drivers[name] == slowest:
                toRemove.append(name)
       
        eliminated.extend(sorted(toRemove))
        for name in toRemove:
            del drivers[name]

    return eliminated


Databrick โœ