๐๐ฆ ๐๐น๐ด๐ผ ๐ป ๐ ใ๐๐ผ๐บ๐ฝ๐ฒ๐๐ถ๐๐ถ๐๐ฒ ๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ดใ
Photo
vector<int> findMinTeamLengths(int tCount, vector<int>& tList) {
int n = tList.size();
vector<int> res(n, -1);
unordered_map<int, int> tMap;
int dCount = 0;
int l = 0;
for (int r = 0; r < n; r++) {
int curT = tList[r];
if (tMap[curT] == 0) {
dCount++;
}
tMap[curT]++;
while (dCount == tCount) {
res[l] = r - l + 1;
int lT = tList[l];
tMap[lT]--;
if (tMap[lT] == 0) {
dCount--;
}
l++;
}
}
return res;
}
//quiz competition โ
int n = tList.size();
vector<int> res(n, -1);
unordered_map<int, int> tMap;
int dCount = 0;
int l = 0;
for (int r = 0; r < n; r++) {
int curT = tList[r];
if (tMap[curT] == 0) {
dCount++;
}
tMap[curT]++;
while (dCount == tCount) {
res[l] = r - l + 1;
int lT = tList[l];
tMap[lT]--;
if (tMap[lT] == 0) {
dCount--;
}
l++;
}
}
return res;
}
//quiz competition โ
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Company Name: Urban Company
Role: SDE - 1
Batch eligible: 2023 and 2024 grads
Apply: If interested, send your resume to sanjanasupriya.ext@urbancompany.com
Role: SDE - 1
Batch eligible: 2023 and 2024 grads
Apply: If interested, send your resume to sanjanasupriya.ext@urbancompany.com
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Blinkit hiring IOS Intern
Eligibility : Freshers
Location : Gurgaon
Apply Here :
https://docs.google.com/forms/d/e/1FAIpQLSeeSv67P8Mbqr9t8JXaRrTsvxMJ_eCP2qPPmOrM-l_y6lJo8g/viewform
Eligibility : Freshers
Location : Gurgaon
Apply Here :
https://docs.google.com/forms/d/e/1FAIpQLSeeSv67P8Mbqr9t8JXaRrTsvxMJ_eCP2qPPmOrM-l_y6lJo8g/viewform
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
LG is hiring for Research Engineer via Online Challenge
Qualification: B.E./B.Tech
Stream : CS/IT/ISE
Eligibility Criteria: (70% and above or 8.0 CGPA)
Skills: C++ Programming, OOPS, Data Structure and Algorithms, Communication
Passed out: 2023/2024
Backlog: No Backlog
Last date of registration: 6th August 2024
Online Assessment Tentative Date: 8th August 2024
Face-to-Face Interview : LG Soft India, Bangalore
Job Requirements :5
CTC : 7 - 7.5 LPA
Apply Here : https://hiremee.co.in/jobs-list/lg-soft-india-private-limited/software-engineer-69814
Qualification: B.E./B.Tech
Stream : CS/IT/ISE
Eligibility Criteria: (70% and above or 8.0 CGPA)
Skills: C++ Programming, OOPS, Data Structure and Algorithms, Communication
Passed out: 2023/2024
Backlog: No Backlog
Last date of registration: 6th August 2024
Online Assessment Tentative Date: 8th August 2024
Face-to-Face Interview : LG Soft India, Bangalore
Job Requirements :5
CTC : 7 - 7.5 LPA
Apply Here : https://hiremee.co.in/jobs-list/lg-soft-india-private-limited/software-engineer-69814
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Cosma hiring React Intern
Apply Here :
https://apply.hireintel.ai/j/66a7c1b7d3adab3073db1d01?utm_source=li_bhola_post
Apply Here :
https://apply.hireintel.ai/j/66a7c1b7d3adab3073db1d01?utm_source=li_bhola_post
apply.hireintel.ai
Cosma Beauty | React Intern | Job Application Page
This is job application page for React Intern from Cosma Beauty. Upload your resumes and schedule AI interview. Please ensure resume in pdf or word file format.
๐1
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Oracle is hiring for Technical Analyst
CTC : 7 - 10 LPA
Batch : 2024/2023/2022 passouts eligible
Apply Here :
https://careers.oracle.com/jobs/#en/sites/jobsearch/job/241626/
CTC : 7 - 10 LPA
Batch : 2024/2023/2022 passouts eligible
Apply Here :
https://careers.oracle.com/jobs/#en/sites/jobsearch/job/241626/
๐1
Forwarded from OffCampus Jobs | OnCampus Jobs | Daily Jobs Updates | Lastest Jobs | All Jobs | CSE Jobs | Fresher Jobs โฅ (Dushyant)
Company Name: JP Morgan
Role: Software Engineer 1
Batch eligible: 2023 and 2024 grads
Apply: https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/job/210542790
Role: Software Engineer 1
Batch eligible: 2023 and 2024 grads
Apply: https://jpmc.fa.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1001/job/210542790
JPMC Candidate Experience page
Software Engineer I
Join an agile team that designs and delivers market-leading technology products in a secure and scalable way
โค1๐1
def count_not_divisible(K, L, R):
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
primes = []
for p in range(2, n + 1):
if is_prime[p]:
primes.append(p)
for multiple in range(p * p, n + 1, p):
is_prime[multiple] = False
return primes
def count_divisible_up_to(x, primes):
from itertools import combinations
count = 0
for i in range(1, len(primes) + 1):
for comb in combinations(primes, i):
lcm = 1
for num in comb:
lcm *= num
if lcm > x:
break
if lcm > x:
continue
if i % 2 == 1:
count += x // lcm
else:
count -= x // lcm
return count
def count_not_divisible_up_to(x, primes):
if x == 0:
return 0
return x - count_divisible_up_to(x, primes)
L = int(L)
R = int(R)
primes = sieve_of_eratosthenes(K)
count_R = count_not_divisible_up_to(R, primes)
count_L_minus_1 = count_not_divisible_up_to(L - 1, primes)
return count_R - count_L_minus_1
K = int(input().strip())
L = input().strip()
R = input().strip()
result = count_not_divisible(K, L, R)
print(result)
Divisible string โ
Infosys
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
primes = []
for p in range(2, n + 1):
if is_prime[p]:
primes.append(p)
for multiple in range(p * p, n + 1, p):
is_prime[multiple] = False
return primes
def count_divisible_up_to(x, primes):
from itertools import combinations
count = 0
for i in range(1, len(primes) + 1):
for comb in combinations(primes, i):
lcm = 1
for num in comb:
lcm *= num
if lcm > x:
break
if lcm > x:
continue
if i % 2 == 1:
count += x // lcm
else:
count -= x // lcm
return count
def count_not_divisible_up_to(x, primes):
if x == 0:
return 0
return x - count_divisible_up_to(x, primes)
L = int(L)
R = int(R)
primes = sieve_of_eratosthenes(K)
count_R = count_not_divisible_up_to(R, primes)
count_L_minus_1 = count_not_divisible_up_to(L - 1, primes)
return count_R - count_L_minus_1
K = int(input().strip())
L = input().strip()
R = input().strip()
result = count_not_divisible(K, L, R)
print(result)
Divisible string โ
Infosys
def max_beauty_sum(A, intervals):
N = len(A)
intervals.sort(key=lambda x: x[1])
dp = [0] * (N + 1)
last_non_overlapping = [0] * (N + 1)
for start, end in intervals:
distinct = set(A[start-1:end])
beauty = sum(distinct)
prev_end = last_non_overlapping[start-1]
dp[end] = max(dp[end], dp[prev_end] + beauty)
for i in range(end, N + 1):
last_non_overlapping[i] = max(last_non_overlapping[i], end)
return max(dp)
Interval maximization โ
#include <bits/stdc++.h>
using namespace std;
const int m = 1e9 + 7;
int main()
{
int numElements, divisor;
cin >> numElements >> divisor;
vector<int> elements(numElements);
for (int i = 0; i < numElements; i++)
{
cin >> elements[i];
}
vector<vector<vector<long long>>> dp(divisor, vector<vector<long long>>(divisor, vector<long long>(divisor, 0)));
dp[0][0][0] = 1;
for (int value : elements)
{
vector<vector<vector<long long>>> newDp(divisor, vector<vector<long long>>(divisor, vector<long long>(divisor, 0)));
for (int rSum = 0; rSum < divisor; rSum++)
{
for (int gSum = 0; gSum < divisor; gSum++)
{
for (int bSum = 0; bSum < divisor; bSum++)
{
if (dp[rSum][gSum][bSum] > 0)
{
newDp[(rSum + value) % divisor][gSum][bSum] = (newDp[(rSum + value) % divisor][gSum][bSum] + dp[rSum][gSum][bSum]) % m;
newDp[rSum][(gSum + value) % divisor][bSum] = (newDp[rSum][(gSum + value) % divisor][bSum] + dp[rSum][gSum][bSum]) % m;
newDp[rSum][gSum][(bSum + value) % divisor] = (newDp[rSum][gSum][(bSum + value) % divisor] + dp[rSum][gSum][bSum]) % m;
}
}
}
}
dp = newDp;
}
long long ass = 0;
for (int rSum = 0; rSum < divisor; rSum++)
{
for (int gSum = 0; gSum < divisor; gSum++)
{
int bSum = (divisor - rSum - gSum) % divisor;
if (bSum < 0)
bSum += divisor;
ass = (ass + dp[rSum][gSum][bSum]) % m;
}
}
cout << ass << endl;
return 0;
}
RGB colouring โ
using namespace std;
const int m = 1e9 + 7;
int main()
{
int numElements, divisor;
cin >> numElements >> divisor;
vector<int> elements(numElements);
for (int i = 0; i < numElements; i++)
{
cin >> elements[i];
}
vector<vector<vector<long long>>> dp(divisor, vector<vector<long long>>(divisor, vector<long long>(divisor, 0)));
dp[0][0][0] = 1;
for (int value : elements)
{
vector<vector<vector<long long>>> newDp(divisor, vector<vector<long long>>(divisor, vector<long long>(divisor, 0)));
for (int rSum = 0; rSum < divisor; rSum++)
{
for (int gSum = 0; gSum < divisor; gSum++)
{
for (int bSum = 0; bSum < divisor; bSum++)
{
if (dp[rSum][gSum][bSum] > 0)
{
newDp[(rSum + value) % divisor][gSum][bSum] = (newDp[(rSum + value) % divisor][gSum][bSum] + dp[rSum][gSum][bSum]) % m;
newDp[rSum][(gSum + value) % divisor][bSum] = (newDp[rSum][(gSum + value) % divisor][bSum] + dp[rSum][gSum][bSum]) % m;
newDp[rSum][gSum][(bSum + value) % divisor] = (newDp[rSum][gSum][(bSum + value) % divisor] + dp[rSum][gSum][bSum]) % m;
}
}
}
}
dp = newDp;
}
long long ass = 0;
for (int rSum = 0; rSum < divisor; rSum++)
{
for (int gSum = 0; gSum < divisor; gSum++)
{
int bSum = (divisor - rSum - gSum) % divisor;
if (bSum < 0)
bSum += divisor;
ass = (ass + dp[rSum][gSum][bSum]) % m;
}
}
cout << ass << endl;
return 0;
}
RGB colouring โ
๐1
#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main()
{
int N, M;
cin >> N >> M;
vector<vector<int>> grid(N, vector<int>(M));
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
cin >> grid[i][j];
}
}
vector<vector<long long>> dp(N, vector<long long>(M, 0));
vector<vector<long long>> dogDistance(N, vector<long long>(M, LLONG_MAX));
if (grid[0][0] == 0)
{
dogDistance[0][0] = 0;
}
dp[0][0] = grid[0][0];
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
if (i == 0 && j == 0)
continue;
if (i > 0)
{
dp[i][j] = max(dp[i][j], dp[i - 1][j] + grid[i][j] - dogDistance[i - 1][j]);
dogDistance[i][j] = min(dogDistance[i][j], dogDistance[i - 1][j] + 2);
}
if (j > 0)
{
dp[i][j] = max(dp[i][j], dp[i][j - 1] + grid[i][j] - dogDistance[i][j - 1]);
dogDistance[i][j] = min(dogDistance[i][j], dogDistance[i][j - 1] + 2);
}
if (grid[i][j] == 0)
{
dogDistance[i][j] = 0;
}
}
}
cout << dp[N - 1][M - 1] << endl;
return 0;
}
Lost in Orange Grove โ
using namespace std;
#define int long long
int32_t main()
{
int N, M;
cin >> N >> M;
vector<vector<int>> grid(N, vector<int>(M));
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
cin >> grid[i][j];
}
}
vector<vector<long long>> dp(N, vector<long long>(M, 0));
vector<vector<long long>> dogDistance(N, vector<long long>(M, LLONG_MAX));
if (grid[0][0] == 0)
{
dogDistance[0][0] = 0;
}
dp[0][0] = grid[0][0];
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
if (i == 0 && j == 0)
continue;
if (i > 0)
{
dp[i][j] = max(dp[i][j], dp[i - 1][j] + grid[i][j] - dogDistance[i - 1][j]);
dogDistance[i][j] = min(dogDistance[i][j], dogDistance[i - 1][j] + 2);
}
if (j > 0)
{
dp[i][j] = max(dp[i][j], dp[i][j - 1] + grid[i][j] - dogDistance[i][j - 1]);
dogDistance[i][j] = min(dogDistance[i][j], dogDistance[i][j - 1] + 2);
}
if (grid[i][j] == 0)
{
dogDistance[i][j] = 0;
}
}
}
cout << dp[N - 1][M - 1] << endl;
return 0;
}
Lost in Orange Grove โ
from collections import defaultdict, deque
def dfs_count(node, parent, adj, A, mod_target):
count = 0
stack = [(node, parent)]
while stack:
current, parent = stack.pop()
if A[current] % 3 == mod_target:
count += 1
for neighbor in adj[current]:
if neighbor != parent:
stack.append((neighbor, current))
return count
def solve(N, M, A, E, Q, Queries):
adj = defaultdict(list)
for u, v in E:
adj[u-1].append(v-1)
adj[v-1].append(u-1)
total_result = 0
for query in Queries:
if query[0] == 1:
_, U, X = query
U -= 1
A[U] = X
elif query[0] == 2:
_, U, X = query
U -= 1
mod_target = X % 3
count = dfs_count(U, -1, adj, A, mod_target)
total_result += count
return total_result % (10**9 + 7)
Path queries โ
Infosys
#include<bits/stdc++.h>
using namespace std;
#define int long long
int findMax(vector<int>& a, vector<int>& height, int n, int i, int h, vector<vector<int>>& dp) {
if (i >= n) return 0;
if (dp[i][h] != -1) return dp[i][h];
int vol = height[i] * a[i] * a[i];
int inc = 0;
int exc = 0;
if (vol > h) {
inc = vol + findMax(a, height, n, i + 1, vol, dp);
}
exc = findMax(a, height, n, i + 1, h, dp);
return dp[i][h] = max(inc, exc);
}
int32_t main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) cin >> a[i];
vector<int> height(n);
for (int i = 0; i < n; i++) cin >> height[i];
int maxVol = 0;
for (int i = 0; i < n; i++) {
maxVol = max(maxVol, height[i] * a[i] * a[i]);
}
// Using the maximum possible value of h to size the dp table
vector<vector<int>> dp(n, vector<int>(maxVol + 1, -1));
int ans = findMax(a, height, n, 0, 0, dp);
cout << ans << endl;
return 0;
}
Volume of cylinder โ
Infosys โ
using namespace std;
#define int long long
int findMax(vector<int>& a, vector<int>& height, int n, int i, int h, vector<vector<int>>& dp) {
if (i >= n) return 0;
if (dp[i][h] != -1) return dp[i][h];
int vol = height[i] * a[i] * a[i];
int inc = 0;
int exc = 0;
if (vol > h) {
inc = vol + findMax(a, height, n, i + 1, vol, dp);
}
exc = findMax(a, height, n, i + 1, h, dp);
return dp[i][h] = max(inc, exc);
}
int32_t main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) cin >> a[i];
vector<int> height(n);
for (int i = 0; i < n; i++) cin >> height[i];
int maxVol = 0;
for (int i = 0; i < n; i++) {
maxVol = max(maxVol, height[i] * a[i] * a[i]);
}
// Using the maximum possible value of h to size the dp table
vector<vector<int>> dp(n, vector<int>(maxVol + 1, -1));
int ans = findMax(a, height, n, 0, 0, dp);
cout << ans << endl;
return 0;
}
Volume of cylinder โ
Infosys โ
๐๐ฆ ๐๐น๐ด๐ผ ๐ป ๐ ใ๐๐ผ๐บ๐ฝ๐ฒ๐๐ถ๐๐ถ๐๐ฒ ๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ดใ
Photo
#include <bits/stdc++.h>
using namespace std;
void precomputeMaxMin(vector<vector<int>> &grid, vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int N) {
for (int size = 1; size <= N; size++) {
for (int i = 0; i <= N - size; i++) {
for (int j = 0; j <= N - size; j++) {
if (size == 1) {
maxVal[i][j][size] = grid[i][j];
minVal[i][j][size] = grid[i][j];
} else {
int prevMax = maxVal[i][j][size - 1];
int prevMin = minVal[i][j][size - 1];
for (int k = 0; k < size; k++) {
prevMax = max({prevMax, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
prevMin = min({prevMin, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
}
maxVal[i][j][size] = prevMax;
minVal[i][j][size] = prevMin;
}
}
}
}
}
int getBeauty(vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int x, int y, int size) {
return maxVal[x][y][size] - minVal[x][y][size];
}
int get_ans(vector<vector<int>> &grid, int N) {
vector<vector<vector<int>>> maxVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));
vector<vector<vector<int>>> minVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));
precomputeMaxMin(grid, maxVal, minVal, N);
int maxBeautySum = 0;
for (int size1 = 1; size1 <= N; size1++) {
for (int x1 = 0; x1 <= N - size1; x1++) {
for (int y1 = 0; y1 <= N - size1; y1++) {
int beauty1 = getBeauty(maxVal, minVal, x1, y1, size1);
for (int size2 = 1; size2 <= N; size2++) {
for (int x2 = 0; x2 <= N - size2; x2++) {
for (int y2 = 0; y2 <= N - size2; y2++) {
if ((x1 + size1 <= x2x2 + size2 <= x1) && (y1 + size1 <= y2 y2 + size2 <= y1)) {
int beauty2 = getBeauty(maxVal, minVal, x2, y2, size2);
maxBeautySum = max(maxBeautySum, beauty1 + beauty2);
}
}
}
}
}
}
}
return maxBeautySum;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vector<vector<int>> grid(N, vector<int>(N));
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> grid[i][j];
}
}
int result = get_ans(grid, N);
cout << result << endl;
return 0;
}
Two square minimax
Infosys โ
using namespace std;
void precomputeMaxMin(vector<vector<int>> &grid, vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int N) {
for (int size = 1; size <= N; size++) {
for (int i = 0; i <= N - size; i++) {
for (int j = 0; j <= N - size; j++) {
if (size == 1) {
maxVal[i][j][size] = grid[i][j];
minVal[i][j][size] = grid[i][j];
} else {
int prevMax = maxVal[i][j][size - 1];
int prevMin = minVal[i][j][size - 1];
for (int k = 0; k < size; k++) {
prevMax = max({prevMax, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
prevMin = min({prevMin, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
}
maxVal[i][j][size] = prevMax;
minVal[i][j][size] = prevMin;
}
}
}
}
}
int getBeauty(vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int x, int y, int size) {
return maxVal[x][y][size] - minVal[x][y][size];
}
int get_ans(vector<vector<int>> &grid, int N) {
vector<vector<vector<int>>> maxVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));
vector<vector<vector<int>>> minVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));
precomputeMaxMin(grid, maxVal, minVal, N);
int maxBeautySum = 0;
for (int size1 = 1; size1 <= N; size1++) {
for (int x1 = 0; x1 <= N - size1; x1++) {
for (int y1 = 0; y1 <= N - size1; y1++) {
int beauty1 = getBeauty(maxVal, minVal, x1, y1, size1);
for (int size2 = 1; size2 <= N; size2++) {
for (int x2 = 0; x2 <= N - size2; x2++) {
for (int y2 = 0; y2 <= N - size2; y2++) {
if ((x1 + size1 <= x2
int beauty2 = getBeauty(maxVal, minVal, x2, y2, size2);
maxBeautySum = max(maxBeautySum, beauty1 + beauty2);
}
}
}
}
}
}
}
return maxBeautySum;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vector<vector<int>> grid(N, vector<int>(N));
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> grid[i][j];
}
}
int result = get_ans(grid, N);
cout << result << endl;
return 0;
}
Two square minimax
Infosys โ
โค1
#include <bits/stdc++.h>
using namespace std;
int maxTripletSum(int arr[], int n) {
int maxA = INT_MIN, maxB = INT_MIN, maxC = INT_MIN;
for (int i = 0; i < n; i++) {
if (arr[i] > maxA) {
maxC = maxB;
maxB = maxA;
maxA = arr[i];
} else if (arr[i] > maxB) {
maxC = maxB;
maxB = arr[i];
} else if (arr[i] > maxC) {
maxC = arr[i];
}
}
return (maxA + maxB + maxC);
}
int main() {
int arr[] = {10, 20, 4, 1, 100, 70};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Maximum triplet sum is " << maxTripletSum(arr, n) << endl;
return 0;
}
Maximum Triplet Sum โ
Infosys
using namespace std;
int maxTripletSum(int arr[], int n) {
int maxA = INT_MIN, maxB = INT_MIN, maxC = INT_MIN;
for (int i = 0; i < n; i++) {
if (arr[i] > maxA) {
maxC = maxB;
maxB = maxA;
maxA = arr[i];
} else if (arr[i] > maxB) {
maxC = maxB;
maxB = arr[i];
} else if (arr[i] > maxC) {
maxC = arr[i];
}
}
return (maxA + maxB + maxC);
}
int main() {
int arr[] = {10, 20, 4, 1, 100, 70};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Maximum triplet sum is " << maxTripletSum(arr, n) << endl;
return 0;
}
Maximum Triplet Sum โ
Infosys
Flower Shop โ
Infosys
Infosys
๐4๐1
#include <iostream>
#include <vector>
#include <numeric>
#define MOD 1000000007
using namespace std;
long long mod_inv(long long x, long long mod) {
long long result = 1;
long long power = mod - 2;
while (power) {
if (power % 2) {
result = result * x % mod;
}
x = x * x % mod;
power /= 2;
}
return result;
}
vector<long long> factorial(int n, long long mod) {
vector<long long> fact(n + 1, 1);
for (int i = 2; i <= n; ++i) {
fact[i] = fact[i - 1] * i % mod;
}
return fact;
}
long long binomial_coeff(int n, int k, const vector<long long>& fact, long long mod) {
if (k > n || k < 0) {
return 0;
}
return fact[n] * mod_inv(fact[k], mod) % mod * mod_inv(fact[n - k], mod) % mod;
}
long long count_ways(int N, int K, const vector<int>& A) {
int sum_A = accumulate(A.begin(), A.end(), 0);
int M = K - sum_A;
vector<long long> fact = factorial(M + N - 1, MOD);
return binomial_coeff(M + N - 1, N - 1, fact, MOD);
}
int main() {
int N, K;
cin >> N >> K;
vector<int> A(N);
for (int i = 0; i < N; ++i) {
cin >> A[i];
}
cout << count_ways(N, K, A) << endl;
return 0;
}
DISTURBUTING BOOKS โ
Infosys
๐1
def max_beauty_sum(A, intervals):
N = len(A)
dp = [0] * (N + 1)
last_non_overlapping = [0] * (N + 1)
interval_beauty = []
for start, end in intervals:
distinct = set(A[start-1:end])
beauty = sum(distinct)
interval_beauty.append((start, end, beauty))
interval_beauty.sort(key=lambda x: x[1])
for start, end, beauty in interval_beauty:
prev_end = last_non_overlapping[start-1]
dp[end] = max(dp[end], dp[prev_end] + beauty)
for i in range(end, N + 1):
last_non_overlapping[i] = max(last_non_overlapping[i], end)
return max(dp)
def main():
import sys
input = sys.stdin.read
data = input().split()
index = 0
N = int(data[index])
index += 1
Q = int(data[index])
index += 1
C = int(data[index])
index += 1
A = []
for _ in range(N):
A.append(int(data[index]))
index += 1
intervals = []
for _ in range(Q):
l = int(data[index])
index += 1
r = int(data[index])
index += 1
intervals.append((l, r))
result = max_beauty_sum(A, intervals)
print(result)
if __name__ == "__main__":
main()
Max Intervalsโ
Infosys
๐1