Coding | EXAMS | IBM ACCENTURE | VIRTUSA | IBM | AMAZON | TCS | EPAM | WILEY EDGE | TECH MAHINDRA | JPMORGAN | HCL | WIPRO
3.37K subscribers
1.13K photos
3 videos
17 files
373 links
Main channel https://t.me/Coding_000
Contact Admin 👉 @ILOVEU_143 for booking your exam slots
Web- https://coding000.github.io/Projects/
💯% clearance in any placement exams
OffCampus -https://t.me/Offcampus_000
Discussion- https://t.me/exams_discussion
Download Telegram
The Infosys online test for the SP role has been scheduled for Sunday,
 21st January, 2024 from 2:30 PM to 5:30 PM. 
The test window is stuck and the team is working from backend and it will be sorted in next 10 minutes 
Don't refresh and close the window. Stay there.
The test will be starting soon and the time will be extended.
👍31
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll dp[10005][2];
const int mod = (1e9 + 7);

ll solve(ll i, ll o, ll n, ll k, vector<ll> &v) {
    if (i > n) {
        return 0;
    }
    if (dp[i][o] != -1)
        return dp[i][o];
    ll ans = 0;
    if (o == 0) {
        for (int j = i; j < min(n + 1, i + k); j++) {
            ans = max(ans, solve(j + 1, 1 - o, n, k, v)) % mod;
        }
    } else {
        ll ta = 0;
        ll mx = 0;
        for (int j = i; j < min(n + 1, i + k); j++) {
            if (ta + v[j] >= 0) {
                ta += v[j];
                mx = max(mx, ta);
            } else {
                ta = 0;
            }
            ll c = solve(j + 1, 1 - o, n, k, v) % mod;
            ans = max(ans, ((j - i + 1) * mx) % mod + c % mod);
        }
    }
    return dp[i][o] = ans;
}

int main() {
    ll n, k;
    cin >> n >> k;
    vector<ll> v;
    ll neg = 0;
    for (int i = 0; i < n; i++) {
        ll x;
        cin >> x;
        v.push_back(x);
        if (x <= 0)
            neg++;
    }

    if (neg == v.size()) {
        cout << 0 << endl;
        return 1;
    }
    memset(dp, -1, sizeof(dp));
 
    cout << max(solve(0, 0, v.size() - 1, k, v), solve(0, 1, v.size() - 1, k, v)) << endl;
}

Array Segment
Infosys
🔥31👍1
#include <iostream>
#include <vector>
#include <deque>
#include <unordered_map>

using namespace std;

int smartTaxiDriver(int N, int K, vector<int>& T, vector<int>& P, vector<int>& C) {
    unordered_map<int, vector<pair<int, int>>> g;

    for (int i = 0; i < N - 1; ++i) {
        g[P[i] - 1].push_back({i + 2, C[i]});
    }

    int mpc = 0;

    for (int sn = 1; sn <= N; ++sn) {
        vector<int> d(N + 1, -1);
        d[sn] = 0;
        deque<pair<int, int>> q = {{sn, 0}};

        while (!q.empty()) {
            auto [cn, cd] = q.front();
            q.pop_front();

            for (auto& [ne, rd] : g[cn]) {
                if (d[ne] == -1 || d[ne] > cd + rd) {
                    d[ne] = cd + rd;
                    q.push_back({ne, d[ne]});
                }
            }
        }

        int pc = 0;
        for (int des : T) {
            if (d[des] <= K) {
                pc++;
            }
        }

        mpc = max(mpc, pc);
    }

    return mpc - 1;
}

int main() {
    int N, K;
    cin >> N >> K;

    vector<int> T(N - 1), P(N - 1), C(N - 1);
    for (int i = 0; i < N - 1; ++i) {
        cin >> T[i];
    }
    for (int i = 0; i < N - 1; ++i) {
        cin >> P[i];
    }
    for (int i = 0; i < N - 1; ++i) {
        cin >> C[i];
    }

    int res = smartTaxiDriver(N, K, T, P, C);
    cout << res << endl;

    return 0;
}

Smart Taxi Driver
Infosys @coding_000❤️
🔥21👍1
#include <bits/stdc++.h>
using namespace std;

void solve(vector<vector<int>> vv, int operation, int xx, int yy, int &res)
{

    for (int i = 1; i < 3; i++)
    {
        int sum1 = 0;
        for (int j = 0; j < vv.size(); j++)
        {
            sum1 += vv[j][i - 1];
        }
        int sum2 = 0;
        for (int j = 0; j < vv.size(); j++)
        {
            sum2 += vv[j][i];
        }
        if (sum1 == sum2)
        {
            res = min(res, operation);
        }

        return;
    }
    for (int i = 0; i < vv.size(); i++)
    {
        solve(vv, operation, xx, yy, res);
        vector<int> p1 = vv[i];
        reverse(p1.begin(), p1.end());
        solve(vv, operation + yy, xx, yy, res);
        vector<int> p2 = vv[i];
        int temp1 = p2[0];
        int temp2 = p2[1];
        int temp3 = p2[2];
        p2[2] = temp1;
        p2[1] = temp3;
        p2[0] = temp2;
        solve(vv, operation + xx, xx, yy, res);
        vector<int> p3 = vv[i];
        temp1 = p2[0];
        temp2 = p2[1];
        temp3 = p2[2];
        p2[2] = temp2;
        p2[1] = temp1;
        p2[0] = temp3;
        solve(vv, operation + xx, xx, yy, res);
    }
    return;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t = 1;

    while (t--)
    {
        int n = 0, m = 0, a = 0, b = 0, c = 0, d = 0, sum = 0, diff = 0, maxN = 0, minN = 0, count = 0, temp = 0;
        bool flag = false;
        cin >> n;

        cin >> m;
        int xx;
        cin >> xx;
        int yy;
        cin >> yy;
        vector<vector<int>> vv(n, vector<int>(m));
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                cin >> vv[i][j];
            }
        }
        if (n == 1)
        {
            cout << -1 << endl;
            continue;
        }
        int res = INT_MAX;
        solve(vv, 0, xx, yy, res);
        cout << res << endl;
    }
    return 0;
}

Pay for Gift
Infosys share @coding_000❤️
🔥21
#include <iostream>
#include <vector>

const int MOD = 1000000007;

using namespace std;

int countBeautifulSequences(int n) {
    if (n == 1) {
        return 1;
    }

    vector<int> dp(n + 1, 0);
    dp[1] = 1;

    for (int i = 1; i <= n; ++i) {
        for (int j = i; j <= n; ++j) {
            dp[j] = (dp[j] + dp[j - i]) % MOD;
        }
    }

    return (dp[n] - 1 + MOD) % MOD;
}

int main() {
    int n;
    cin >> n;

    int result = countBeautifulSequences(n);
    cout << result << endl;

    return 0;
}

Count Beautiful sequence
Share @coding_000❤️
🔥2🥰1
Share our channel screenshot in large groups

For remaining coding answers 🏃🏃🏃🏃
👍2
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll dp[10005][2];
const int mod = (1e9 + 7);

ll solve(ll i, ll o, ll n, ll k, vector<ll> &v) {
    if (i > n) {
        return 0;
    }
    if (dp[i][o] != -1)
        return dp[i][o];
    ll ans = 0;
    if (o == 0) {
        for (int j = i; j < min(n + 1, i + k); j++) {
            ans = max(ans, solve(j + 1, 1 - o, n, k, v)) % mod;
        }
    } else {
        ll ta = 0;
        ll mx = 0;
        for (int j = i; j < min(n + 1, i + k); j++) {
            if (ta + v[j] >= 0) {
                ta += v[j];
                mx = max(mx, ta);
            } else {
                ta = 0;
            }
            ll c = solve(j + 1, 1 - o, n, k, v) % mod;
            ans = max(ans, ((j - i + 1) * mx) % mod + c % mod);
        }
    }
    return dp[i][o] = ans;
}

int main() {
    ll n, k;
    cin >> n >> k;
    vector<ll> v;
    ll neg = 0;
    for (int i = 0; i < n; i++) {
        ll x;
        cin >> x;
        v.push_back(x);
        if (x <= 0)
            neg++;
    }

    if (neg == v.size()) {
        cout << 0 << endl;
        return 1;
    }
    memset(dp, -1, sizeof(dp));
 
    cout << max(solve(0, 0, v.size() - 1, k, v), solve(0, 1, v.size() - 1, k, v)) << endl;
}
// Array Segments

Share @coding_000
🔥2
int min_operations(string s) {
    int n = s.length();
    vector<vector<int>> dp(n, vector<int>(n, INT_MAX));
    for (int i = 0; i < n; i++) {
        dp[i][i] = 0;
    }
    for (int len = 2; len <= n; len++) {
        for (int i = 0; i <= n - len; i++) {
            int j = i + len - 1;
            if (s[i] == s[j]) {
                dp[i][j] = min(dp[i][j], dp[i + 1][j - 1]);
            } else {
                for (int k = i; k < j; k++) {
                    dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + 1);
                }
            }
        }
    }

    return dp[0][n - 1];
}
// String dot

Share @coding_000❤️
👍3🔥2
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>

using namespace std;

const int INF = 1e9;

struct Node {
    int value, dist;
    Node(int v, int d) : value(v), dist(d) {}
};

int main() {
    int n, m;
    cin >> n >> m;

    vector<int> A(n);
    vector<vector<int>> graph(n, vector<int>());
    vector<vector<int>> dist(n, vector<int>(n, INF));

    for (int i = 0; i < n; ++i) {
        cin >> A[i];
    }

    for (int i = 0; i < m; ++i) {
        int x, y;
        cin >> x >> y;
        --x; --y; // Convert to 0-based indexing
        graph[x].push_back(y);
        graph[y].push_back(x);
        dist[x][y] = dist[y][x] = 1;
    }

    // Floyd-Warshall algorithm to calculate shortest distances
    for (int k = 0; k < n; ++k) {
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n; ++j) {
                dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
            }
        }
    }

    priority_queue<Node, vector<Node>, greater<Node>> pq;

    for (int i = 0; i < n; ++i) {
        if (A[i] > 0) {
            pq.push(Node(i, 0));
        }
    }

    long long cost = 0;

    while (!pq.empty()) {
        Node node = pq.top();
        pq.pop();

        int u = node.value;
        int d = node.dist;

        if (A[u] > 0) {
            cost += d * A[u];
            A[u] = 0;

            for (int v : graph[u]) {
                if (A[v] > 0) {
                    pq.push(Node(v, d + 1));
                }
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        if (A[i] > 0) {
            cout << -n << endl;
            return 0;
        }
    }

    cout << cost << endl;

    return 0;
}

Tree=0

All pass Share @coding_000❤️

More Share More Solutions❤️👨‍💻
🔥2🥰1
int solve(vector<int>& arr)
{  
    if(arr.size()==1)
    {
        if(arr[0]==0) return 0;
        else return 1;
    } coding_000
    int used = 0;
    int start = 0;
    int n = arr.size();
    int result = 0;
    for (int i = 0; i < n; i++)
    {
        while ((used&arr[i])!=0)
        {
            used ^= arr[start];
            start++;
        }
        used |= arr[i];
        if (start < i)
            result+=i - start + 1;
    }

    return 2*result;
}
// Count subsets

Share @coding_000❤️
🔥3
int dp[603];
int mex(vector<int>&v, int i, int j){
     set<int>st;
     for(int ind = i;ind <= j;ind++) st.insert(v[ind]);
     int ans = 1;
     for(auto pr : st){
          if(pr == ans) ans++;
     }
     return ans;
}

int love(vector<int>& arr, int ind, int k){
    
    int n = arr.size();
    if(k == 1) return mex(arr, ind, n - 1);
                                           
    if(dp[ind] != -1)  return dp[ind];

    int maxi = INT_MIN;

    for(int i = ind;i <= (n - k);i++){
       int ans = mex(arr, ind, i) + helper(arr, i + 1, k - 1);
       maxi = max(maxi, ans);
    }

    return dp[ind] = maxi;
}


int solve(int N, int K, vector<int>A){

     memset(dp, -1, sizeof(dp));
    return love(A, 0 , K);

}
// Max Strikes again

https://t.me/coding_000 ❤️
🔥3
Guys share the screenshot in large groups and Share with your friends 🔥 @Coding_000 ❤️

I don't see anyone sharing 🥲
4