๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.52K subscribers
5.56K photos
3 videos
95 files
9.69K 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
vector<vector<int>> adj;
vector<int> vis;
void solve() {
  int n;
  cin >> n;
  adj.resize(n);
  for(int i = 0 ; i < n ; i++){
    int x;cin >> x;
    int N = i + x;
    int P = i - x;
    if(N < n)
      adj[N].push_back(i);
    if(P >= 0)
      adj[P].push_back(i);
  }
  vis.resize(n, -1);
  queue<int> Q;
  Q.push(n-1);
  vis[n-1] = 0;
  while(!Q.empty()){
    int u = Q.front();
    Q.pop();
    for(int v : adj[u]){
      if(vis[v] == -1){
        Q.push(v);
        vis[v] = 1 + vis[u];
      }
    }
  }
  for(int i = 0; i < n ; i++)
    cout << vis[i] <<endl;
}


Servers Time โœ…
Razorpay
long long solve(int N,int M,vector<int>Arr){
    vector<int>v(N+1,INT_MAX);
    int n=N;
    for(int i=n-1;i>=0;i--){
        v[i]=min(v[i+1],Arr[i]);
    }
    long long ans=INT_MAX;
    for(int i=0;i<N;i++){
        if((i+M-1)<N){
            ans=min(ans,1ll*Arr[i]*v[i+M-1]);
        }
    }
    return ans;


Array transferโœ…
class Solution{
public:
    bool solvable(vector<int>& v,int diff,int K){
    
        int n=v.size();
        int prev=0;
        int removed=0;
        for(int i=1;i<n&&removed<K;i++){
            if(i==n-1 || v[i+1]-v[prev]>diff){
                if(v[i]-v[prev]>diff)return false;
                prev=i;
            }
            else removed++;
        }
        return (removed==K);
    }
   
    int minDiff(vector<int> v,int K){
       
        int hi=v.back()-v[0];
        int lo=0;
       
        for(int i=0;i+1<v.size();i++)lo=max(lo,v[i+1]-v[i]);
       
        while(lo<hi){
            int mid=(lo+hi)/2;
            if(solvable(v,mid,K))hi=mid;
            else lo=mid+1;
        }
        return lo;       
    }
};

Adjacent cubes โœ…
MOD = 1000000007
def a(x):
    if x <= 1:
        return False
    for i in range(2, int(x**0.5) + 1):
        if x % i == 0:
            return False
    return True

def b(x):
    c = []
    for i in range(1, x+1):
        if a(i):
            c.append(i)
    return c

def c(d, e, f):
    g = [2, 3, 5, 7]
    h = [0, 1, 4, 6, 8, 9]
    i = b(d)
    j = [[0] * e for _ in range(d+1)]
    j[0][0] = 1
    for k in range(1, d+1):
        if k in i:
            l = g
        else:
            l = h
        for m in range(e):
            for n in l:
                if k == 1 and n == 0:
                    continue
                o = (m * 10 + n) % e
                j[k][o] = (j[k][o] + j[k-1][m]) % MOD
    return j[d][f


[f] special Numbersโœ…
Arrange Map Code


from collections import deque
import itertools

def get_shortest_path(grid, N):
    start = None
    end = None
    for i in range(N):
        for j in range(N):
            if grid[i][j] == 'S':
                start = (i, j)
            elif grid[i][j] == 'D':
                end = (i, j)

    queue = deque([(start, 0)])
    visited = {start}

    while queue:
        (x, y), dist = queue.popleft()
        if grid[x][y] == 'D':
            return dist

        for nx, ny in [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]:
            if 0 <= nx < N and 0 <= ny < N and (nx, ny) not in visited and grid[nx][ny] != 'T':
                visited.add((nx, ny))
                queue.append(((nx, ny), dist + 1))
    return float('inf')

def get_sheets(grid, N, M):
    sheets = []
    for i in range(0, N, M):
        for j in range(0, N, M):
            sheet = []
            for x in range(M):
                row = []
                for y in range(M):
                    row.append(grid[i+x][j+y])
                sheet.append(row)
            sheets.append(sheet)
    return sheets

def make_grid(arrangement, sheets, N, M):
    grid = [["" for _ in range(N)] for _ in range(N)]
    num_sheets = N // M

    for idx, sheet_idx in enumerate(arrangement):
        sheet = sheets[sheet_idx]
        base_i = (idx // num_sheets) * M
        base_j = (idx % num_sheets) * M

        for i in range(M):
            for j in range(M):
                grid[base_i + i][base_j + j] = sheet[i][j]
    return grid

def solve():
    N, M = map(int, input().split())
    original_grid = []
    for _ in range(N):
        original_grid.append(list(input().strip()))

    sheets = get_sheets(original_grid, N, M)
    num_sheets = (N // M) ** 2

    s_sheet = d_sheet = None
    for i, sheet in enumerate(sheets):
        for row in sheet:
            if 'S' in row:
                s_sheet = i
            if 'D' in row:
                d_sheet = i

    min_dist = float('inf')
    nums = list(range(num_sheets))
    nums.remove(s_sheet)
    nums.remove(d_sheet)

    for middle_perm in itertools.permutations(nums):
        arrangement = [s_sheet] + list(middle_perm) + [d_sheet]
        grid = make_grid(arrangement, sheets, N, M)
        min_dist = min(min_dist, get_shortest_path(grid, N))

    return min_dist

if name == "main":
    print(solve())


Arrange Map Code โœ…โœ…โœ…
Full Passed , Remove Plagrism Guys
def wolve(elements):
    n = len(elements)
    result = []
    level = 0
    idx = 0  
    while idx < n:
        nodes_in_level = 2 ** level
        if idx + nodes_in_level <= n:
            result.append(elements[idx + nodes_in_level - 1]) 
            idx += nodes_in_level
        else:
            break
        level += 1
    print(" ".join(map(str, result)))

Bnp โœ…
def first_meat_orders(num_of_orders, orders, size):
    result = []
   
    for i in range(0, num_of_orders-size+1):
        screen_orders = orders[i:i+size]
        meat_order_found = False
       
        for order in screen_orders:
            if order < 0:  # Checking for meat-based pizza order
                result.append(order)
                meat_order_found = True
                break

       
        if not meat_order_found:
            result.append(0)
        meat_order_found = False
   
    return result
DESERT QUEEN CODE
C++


#include <bits/stdc++.h>
using namespace std;

int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};

bool isValid(int x, int y, int n, const vector<vector<char>>& grid)
{
    return x >= 0 && x < n && y >= 0 && y < n && grid[x][y] != 'M';
}

int fMW(int n, const vector<vector<char>>& grid, pair<int, int> start, pair<int, int> end)
{
    vector<vector<int>> EXAMASSISTANCE(n, vector<int>(n, INT_MAX));
    queue<pair<int, int>> q;

    q.push(start);
    EXAMASSISTANCE[start.first][start.second] = 0;

    while (!q.empty())
    {
        auto [x, y] = q.front();
        q.pop();

        for (int d = 0; d < 4; d++)
        {
            int nx = x + dir[d][0];
            int ny = y + dir[d][1];

            if (isValid(nx, ny, n, grid))
            {
                int cost = (grid[x][y] == 'T' && grid[nx][ny] == 'T') ? 0 : 1;
                if (EXAMASSISTANCE[x][y] + cost < EXAMASSISTANCE[nx][ny])
                {
                    EXAMASSISTANCE[nx][ny] = EXAMASSISTANCE[x][y] + cost;
                    q.push({nx, ny});
                }
            }
        }
    }
    return EXAMASSISTANCE[end.first][end.second];
}

int main()
{
    int n;
    cin >> n;
    vector<vector<char>> grid(n, vector<char>(n));
    pair<int, int> start, end;

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cin >> grid[i][j];
            if (grid[i][j] == 'S') start = {i, j};
            if (grid[i][j] == 'E') end = {i, j};
        }
    }

    int result = fMW(n, grid, start, end);
    cout << result << endl;

    return 0;
}


DESERT QUEEN
C++
โ˜‘๏ธ โ˜‘๏ธ โ˜‘๏ธ โ˜‘๏ธ