0% found this document useful (0 votes)
1K views744 pages

E Lab

Here is a Python program that takes color combinations as input and outputs the resulting color based on the color mixing rules provided: ```python primary_colors = ["RED", "BLUE", "YELLOW"] secondary_colors = ["ORANGE", "PURPLE", "GREEN"] def mix_colors(color1, color2): if color1 == color2: return color1 if color1 in primary_colors and color2 in primary_colors: if color1 == "RED" and color2 == "BLUE": return "PURPLE" elif color1 == "RED" and color2 == "YELLOW": return "ORANGE" elif color1 == "

Uploaded by

katiyarprakhar04
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views744 pages

E Lab

Here is a Python program that takes color combinations as input and outputs the resulting color based on the color mixing rules provided: ```python primary_colors = ["RED", "BLUE", "YELLOW"] secondary_colors = ["ORANGE", "PURPLE", "GREEN"] def mix_colors(color1, color2): if color1 == color2: return color1 if color1 in primary_colors and color2 in primary_colors: if color1 == "RED" and color2 == "BLUE": return "PURPLE" elif color1 == "RED" and color2 == "YELLOW": return "ORANGE" elif color1 == "

Uploaded by

katiyarprakhar04
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 744

question

<p>Question Description:<br>Simon has given N ratios in the form of A and B that is represented as
A/B. The values of A and B are represented as double data type values. The values of B are incorrect.
The actual values of B are B+R. Simon know the actual sum of all the ratios that is available in
variable K.<br><br>Note: The true values of B, represented as (B+R), are always greater than 0.
Simon's task is to determine the value of R.<br><br>Constraints:<br>1 &lt;= N &lt;= 1000<br>1 &lt;=
A &lt;= 1000<br>|B| &lt;= 1000<br>1 &lt;= K &lt;= 10^6<br><br>Input Format:<br>First line: Two
integers N and col denoting the number of ratios and the value 2 respectively<br>Next N lines: Each
line contains two double values A and B<br>Last line: A double value K denoting the sum of all the
ratios<br><br>Output Format:<br>Print the value of R. Simon's answer must contain an absolute or
relative error of less than 10^-6.</p><p>&nbsp;</p>

answer

#include<iostream>

using namespace std;

double func(double arr[][2],double r,int n){

double ans = 0;

for (int i = 0; i < n; i++) {

ans+= (arr[i][0]/(arr[i][1]+r));

return ans;

int main(){

int n,two;

cin>>n>>two;

double arr[n][2];

for (int i = 0; i < n; i++) {

cin>>arr[i][0]>>arr[i][1];

}
double hi=2000,lo=0,mid,curr,k;

cin>>k;

while(hi-lo>1e-7){

mid=(hi+lo)/2;

curr=func(arr,mid,n);

if(curr<k){

hi = mid;

else{

lo = mid + 1e-7;

printf("%.6f",mid);

return 0;

printf("double solve(double** arr,double K,int n)");

question

<p>Problem Description:<br>John Krasinski among his friends wants to go to watch a movie in


Sathyam Cinemas.<br>There is something special about Sathyam cinemas whenever people come in
the group here.&nbsp;</p><p>They will get seats accordingly their heights. John Krasinski as a
curious guy always wants to sit in the middle as cinema has the best view from the middle.<br>Now,
John Krasinski as the leader of his group decides who will join him for the movie.<br>Initially, he has
N-1 friends with him (N including him).<br>You are given N-1 numbers that represent the heights of
John Krasinski's friends.<br>You are given the height of John Krasinski as well.<br><br>Now, John
Krasinski can do two operations:<br>1. He can call a new friend of height H.<br>2. He can cancel any
of his friend invitations.<br><br>Each operation will cost him a unit time.<br>He wants to do this as
soon as possible.<br><br>Constraints:<br>1 &lt;= T &lt;= 100<br>1 &lt;= N &lt;= 10^5<br>1 &lt;=
Ar[i] &lt;= 10^9<br><br>Input Format:<br><br>The first line contains T, where T is the test
case.<br>Each test case contain two lines,<br>The first line contains two space-separated integer N,
S where N is the total number of John Krasinski's friend and 'S' is John Krasinski height.<br>The
second line contains N space-separated integers that represent the height of John Krasinski's
friend.<br><br>Output Format:<br>Print the required answer (cost) for each test case in a new
line<strong>.</strong></p><p>Explanation:</p><p>Sample Input</p><p>2
</p><p>3 2

</p><p>4 3 1

</p><p>1 5

</p><p>6

</p><p><strong>Sample Output</strong></p><p>1

</p><p>1

</p><p>In first test case :<br>We can cancel invitation of person of height 4 (Cost = 1)<br>In second
Test Case:<br>We can invite person with height 4 (Cost =1)</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int test;cin>>test;while(test--){

int n,s;cin>>n>>s;

std::vector<int> v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

//v[n] = s;

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

for (int i = 0; i < n; i++) {

if(v[i]>=s){

s = i;break;

cout<<abs(s-(n-s))<<endl;

return 0;

}
question

<p>Problem Description:</p><p>In <a


href="https://en.wikipedia.org/wiki/Mathematics">mathematics</a>, a
<strong>permutation</strong> of a <a
href="https://en.wikipedia.org/wiki/Set_(mathematics)">set</a> is, loosely speaking, an
arrangement of its members into a <a
href="https://en.wikipedia.org/wiki/Sequence">sequence</a> or <a
href="https://en.wikipedia.org/wiki/Linear_order">linear order</a>, or if the set is already ordered,
a rearrangement of its elements. The word "permutation" also refers to the act or process of
changing the linear order of an ordered set.</p><p><br>Mariappan(M) is alone too and has a
permutation p1,p2,....pn of numbers from 1 to n.<br><br>M thinks that a permutation p1,p2,....pn
beautifulness is defined as value of Σ |pi-i|, 1 &lt;=i&lt;=n.<br><br>M can swap two elements of the
permutation at most once.<br><br>Constraints:<br>1 &lt;= n &lt;= 10^5<br>1 &lt;= pi &lt;= n all pi
are distinct<br><br>Input Format:<br><br>First line contains only 'n'.<br>Second line contains the
permutation p1, p2...pn separated by space.<br><br>Output Format:<br>Print the output in a single
line contains maximum beautifulness that M can get</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;

vector<int> v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

sort(v.begin(),v.end(),greater<int>());

int tot= 0;

for(int i=0 ; i<n ; i++){

//cout<<v[i]<<' ';

tot+= abs(v[i]-1-i);

cout<<tot;
return 0;

printf("swap(l,r);");

question

<p>Problem Description:<br>Tina has given a boolean matrix mat[P][Q] of size P X Q to


Laaysa,&nbsp;</p><p>She wants to modify it such that if a matrix cell mat[m][n] is 1 (or true) then
make all the cells of m_th row and nth column as 1. Can you help Laaysa?<br><br>Constraints:<br>1
&lt;= p, q &lt;= 1000<br><br>Input Format:<br>First line of the input is the how many rows and
columns in Laaysa matrix.&nbsp;</p><p>After that, each line will represent each row and Laaysa
need to enter numbers.<br><br>Output Format:<br>Print the resultant matrix output in a separate
lines.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int r,c;

cin>>r>>c;

int arr[r][c];

int arrTemp[r][c];

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++) {

cin>>arr[i][j];

arrTemp[i][j] = 0;

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++) {


if(arr[i][j]==1){

for(int i1 = 0;i1<r;i1++){

arrTemp[i1][j] =1;

for(int i1 = 0;i1<c;i1++){

arrTemp[i][i1] =1;

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++) {

cout<<arrTemp[i][j];

if(j!=c-1)cout<<' ';

cout<<endl;

return 0;

printf("for(m=0;m<r;m++)");

question

<p>Problem Description:<br>Public school have arranged an Annual Day


Function.</p><p>Volunteers have decorated a floor on various places of the school using Rose and
Tulip flowers.&nbsp;</p><p>But one of the coordinators requested the volunteers to rearrange the
decoration like a triangular size.</p><p>Coordinator also told them that tulips flowers need to be
positioned at the middle of the roses</p><p>School has 20 buildings and as per Principal order the
numbers of rows in the decoration should also match the building number.<br>The Principal of the
school is interested in seeing the final decoration but he is quite busy with the other
works.</p><p>So he likes to see how the final decoration have come through online mode if he
gives the building number.</p><p>So can you display him the final decoration
layout?<br>Note:<br>Roses are represented by 1.</p><p>Tulips are represented by
0.<br><br>Constraints:<br>1 ≤ rows ≤ 20</p><p><br>Input Format:<br>Only line of input has single
integer representing the building number.</p><p><br>Output Format:<br>Print the final layout of
the decoration.</p><p>Refer sample testcases for format specification.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;cout<<"1 \n";

for (int i = 0; i < n-2; i++) {

cout<<"1 ";

for (int j = 0; j < i; j++) {

cout<<"0 ";

cout<<"1 \n";

for (int i = 0; i < n; i++) {

cout<<"1 ";

return 0;

cout<<"for(i=1;i<=rows;i++)";

question

<p>Problem Description:<br>VIBGYOR isn't just an acronym, it's a way of life for Asian paint
company. The owner is considering modernizing his paint mixing equipment with a computerized
model. He's hired you to code the prototype. Your simple program will need to correctly output the
right color based on the blends he's given you.</p><p>Example &nbsp;Colors</p><p>Primary colors
“ RED, BLUE, YELLOW”,&nbsp;</p><p>secondary Colors “ORANGE, PURPLE, GREEN”</p><p>Tertiary
Colors “ LIGHT RED, DARK RED, LIGHT PURPLE, DARK PURPLE, LIGHT BLUE, DARK BLUE, LIGHT
GREEN, DARK GREEN, LIGHT YELLOW, DARK YELLOW, LIGHT ORANGE, DARK
ORANGE”</p><p><br>Input Format:<br>You will receive one to five lines of color combinations
consisting of primary colors and secondary colors as well as black and white to make "dark" and
"light" colors. The full science of colorisation and pigments will be implemented next, if your
prototype is successful.<br><br>Output Format:<br>Print the output in a separate lines contains,
Your program should output the correct color depending on what two colors were "mixed" on the
line. Primary colors should mix together to create secondary colors. Anything mixed with "WHITE" or
"BLACK" should be output as either "LIGHT X" or "DARK X" where X is the color "WHITE" or "BLACK"
were mixed with. Anything mixed with itself won't change colors. You are guaranteed not to receive
incompatible colors, or colors not listed in the color wheels shown above (aside from "WHITE" and
"BLACK").</p><p>&nbsp;</p><p>Refer logical test cases for your reference.&nbsp;</p>

answer

#include <stdio.h>

#include<bits/stdc++.h>

using namespace std;

void arr()

return;

int main()

string ss[] = {"RED", "BLUE", "PURPLE", "YELLOW", "ORANGE" "GREEN"};

string s,s1;

int t = 4;

while(t--)

cin>>s>>s1;

//cout<<s<<" "<<s1;

if(s == ss[0] && s1 == ss[3])

cout<<"ORANGE";

else if(s == ss[1] && s1 == ss[3]) cout<<"GREEN";

else if(s == ss[1] && s1== ss[0]) cout<<"PURPLE";

else if(s == "BLACK") cout<<"DARK"<<" "<<s1;

else if(s1 == "BLACK") cout<<"DARK"<<" "<<s;


else if(s1 == "WHITE") cout<<"LIGHT"<<" "<<s;

else if(s == "WHITE") cout<<"LIGHT"<<" "<<s1;

else if(s1 == s)cout<<s;

else cout<<"N/A";

cout<<"\n";

return 0;

cout<<"if(strcmp(c,colors[i])==0) for(i=0;i<8;i++) char mixes[8][8][32] char colors[8][32]";}

question

<p>Problem Description:</p><p>Umesh has n mixtures in front of him, arranged in a row. Each


mixture has one of 100 different colors (colors have numbers from 0 to 99).</p><p>He wants to mix
all these mixtures together. At each step, he is going to take two mixtures that stand next to each
other and mix them together, and put the resulting mixture in their place.</p><p>Functional
Description:</p><p>When mixing two mixtures of colors a and b, the resulting mixture will have the
color (a+b) mod 100.</p><p>Also, there will be some smoke in the process. The amount of smoke
generated when mixing two mixtures of colors a and b is a*b.</p><p>Find out what is the minimum
amount of smoke that Umesh can get when mixing all the mixtures
together.</p><p>Constraints:</p><p>1 &lt;= n &lt;= 100</p><p>Input Format:</p><p>There will be
a number of test cases in the input.</p><p>The first line of each test case will contain n, the number
of mixtures,&nbsp;</p><p>The second line will contain n integers representing the initial colors of
the mixtures.</p><p>Output Format:</p><p>For each test case, output the minimum amount of
smoke.</p>

answer

#include<stdio.h>

typedef long long unsigned LLU;

LLU min_smoke[100][100];

int color[100][100];

LLU smoke(int n){

int i,j,l;
for(i=0;i<n;i++){

for(j=0;j<n;j++){

min_smoke[i][j]=10000000000000000;

for(i=0;i<n;i++){

min_smoke[i][i] = 0;

for(l=2;l<=n;l++){

int e = n-l;

for(i=0;i<=e;i++){

int k = i+l-1;

for(j=i;j<k;j++){

LLU sm = min_smoke[i][j] + min_smoke[j+1][k] + color[i][j]*color[j+1][k];

int cl = (color[i][j]+color[j+1][k])%100;

if(sm<min_smoke[i][k]){

min_smoke[i][k] = sm;

color[i][k] = cl;

return min_smoke[0][n-1];

int main(void){
int n;

while(scanf("%d",&n)!=EOF){

int i;

for(i=0;i<n;i++){

scanf("%d",&(color[i][i]));

printf("%llu\n",smoke(n));

return 0;

printf("scount[100][100]colours[100]");

question

<p>Problem Description:<br>For some reason, your school's football team has chosen to spell out
the numbers on their jerseys instead of using the usual digits. Being great fans, you're going to be
ready to cheer for your favorite players by bringing letter cards so you can spell out their number.
Each fan has different favorites, so they each need to bring different sets of letters.<br><br>The
English spellings for the numbers 0 to 12 are:<br>ZERO ONE TWO THREE FOUR FIVE SIX<br>SEVEN
EIGHT NINE TEN ELEVEN TWELVE<br><br>Input Format:<br>Read a set of integers from 0 to 12,
separated by spaces, representing one fan's favorite players. The last integer will be 999, marking
the end of the line.<br><br>Output Format:<br>Print the same numbers, then a period and a space.
Then, in alphabetical order, print all the letters the fan needs to be able to spell any one of the jersey
numbers provided</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int curr;

multiset<char> mp;

string names[] =
{"","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE"
};
while(cin>>curr){

if(curr==999){

cout<<"0999"<<'.'<<' ';

break;

cout<<curr<<' ';

if(curr>12)continue;

string now = names[curr];

for(auto ch:now){

mp.insert(ch);

for (auto ch : mp) {

cout<<ch<<' ';

return 0;

printf("char nums[13][256]for(n=0;n<26;n++)");

question

<p><strong>Question description</strong></p><p>Sathya is a IT expert who training youngsters


struggling in coding to make them better.</p><p>Sathya usually gives interesting problems to the
youngsters &nbsp;to make them love the coding.<br><br>One such day Sathya provided the
youngsters to solve that the given an array of integers and the numbers k1 and k2, get the sum of
the two numbers.&nbsp;</p><p>Find the sum of all elements in the array between the k1st and
k2nd smallest elements.&nbsp;</p><p>It is reasonable to suppose that (1= k1 k2 n) and all array
items are distinct.</p><p><strong>Constraints:</strong></p><p>1&lt;= T &lt;= 100</p><p>1&lt;=
k1&lt; K2 &lt;= N &lt;=50</p><p><strong>Input Format:</strong></p><p>The first line of input
contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains
an integer N, denoting the length of the array.&nbsp;</p><p>Next line contains N space separated
integers of the array.&nbsp;</p><p>Third line contains two space separated integers denoting k1'th
and k2'th smallest elements.</p><p><strong>Output Format:</strong></p><p>For each test case in
a new line output the sum of all the elements between k1'th and k2'th smallest
elements.</p><p>&nbsp;</p><p>&nbsp;</p>
answer

#include <bits/stdc++.h>

using namespace std;

int main()

int t;cin>>t;

while(t>0){

int n,k1,k2,ans=0;

cin>>n;

int arr[n];

for(int i=0;i<n;i++) {

cin>>arr[i];

cin>>k1>>k2;

sort(arr,arr+n);

for (int i = k1; i < k2-1; i++) {

ans+=arr[i];

cout<<ans<<endl;

t--;

return 0;

printf("for(int i=0;i<n-1;i++)");

question

<p>Question description</p><p>In India, the real estate sector is the second-highest employment
generator, after the agriculture sector.&nbsp;</p><p>It is also expected that this sector will incur
more non-resident Indian (NRI) investment, both in the short term and the long
term.&nbsp;</p><p>Bengaluru is expected to be the most favoured property investment
destination for NRIs, followed by Ahmedabad, Pune, Chennai, Goa, Delhi and
Dehradun.</p><p>Ramesh is residing in England. he is willing to invest money in real
estate.&nbsp;</p><p>So he has chosen Bengaluru for good investment.<br>There are N flats for
sale in Bengaluru main city.&nbsp;</p><p>The i-th flat costs Ai rupees to
buy.&nbsp;</p><p>Ramesh has a budget of B rupees to spend.<br><br>What is the maximum
number of flats Ramesh can buy?<br><br>Constraints:<br>1 ≤ T ≤ 100.<br>1 ≤ B ≤ 10^5.<br>1 ≤ Ai ≤
1000, for all i.<br>1 ≤ N ≤ 10^5.<br><br>Input Format:<br>The first line of the input gives the
number of test cases, T.&nbsp;</p><p>T test cases follow. Each test case begins with a single line
containing the two integers N and B.&nbsp;</p><p>The second line contains N integers. The i-th
integer is Ai, the cost of the i-th flat.<br><br>Output Format:<br>Print the output in a separate line
contains the maximum number of flats Ramesh can buy.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int t;cin>>t;

while(t--){

int n,tot,now=0;cin>>n>>tot;

std::vector<int>v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

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

for (int i = 0; i < n; i++) {

now+=v[i];

if(now>tot){

cout<<i<<endl;

break;

return 0;
printf("void heapsort(int x[],int n)void makeheap(int x[],int n)heapsort(a,n);
makeheap(a,n);");

question

<p>Question Description:&nbsp;</p><p>Sakthi&nbsp;has been acting strangely for a few days now.


Finally, you (his best friend) found out that it was because his project&nbsp;proposal was turned
down (rejected).</p><p>He is working hard to solve the problem, but he is unable to concentrate
due to the rejection. Are you able to assist him?&nbsp;</p><p>Find if n can be expressed as the sum
of two desperate numbers (not necessarily dissimilar) given a number n.</p><p>&nbsp;where
desperate numbers are those which can be written in the form of (a*(a+1))/2 where a &gt; 0
.</p><p>Constraints:</p><p>(1 ≤ n ≤ 10^9)</p><p>Input :</p><p>The first input line contains an
integer n&nbsp;</p><p>Output :</p><p>Print "YES" (without the quotes), if n can be represented as
a sum of two desperate numbers, otherwise print "NO" (without the quotes).</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;

cin>>n;

unordered_set<int> st;

for(int i = 1; i < n; i++)

st.insert((i*(i+1))/2);

for(int i = 1; i < n; i++){

// cout<<((i*(i+1)))/2<<' '<<(n- ((i*(i+1)))/2)<<endl;

if(st.find(n- ((i*(i+1)))/2) != st.end()){

cout<<"YES";

return 0;

// if((n- ((i*(i+1)))/2)<0){

// break;
// }

cout<<"NO";

return 0;

printf("int binarySearch(int low,int high,int key)");

question

<p>Question description<br><br>Nancy, Simon, and Swati were all attending campus


interviews.&nbsp;</p><p>they got selected for the second round.&nbsp;</p><p>Nancy failed to
clear the second round and others to selected for the next round of interviews.&nbsp;</p><p>Nancy
discussed with her friend the question which came in the interview.&nbsp;<br>one of the questions
have given an array of n distinct elements, the task is to find all elements in array which have at-least
two greater elements than themselves.</p><p>But it's in the syllabus of his exam. So can you help to
create a program in the specified concept to get an offer in the next interview
?.&nbsp;<br><br>Constraints<br>&nbsp; &nbsp; &nbsp; &nbsp;1≤ N
≤1000</p><p>Examples:</p><p>Input : A[] = {2, 8, 7, 1, 5};</p><p>Output : 1 &nbsp;2 &nbsp;5
&nbsp;</p><p>The output three elements have two or</p><p>more greater elements</p><p>Input
&nbsp;: A[] = {7, -2, 3, 4, 9, -1};</p><p>Output : -2 &nbsp;-1 &nbsp;3 &nbsp;4
&nbsp;</p><p>Input:</p><p>The first line of input contains an integer T denoting the no of test
cases. Each test case contains two lines . The first line of input contains an integer n denoting the
size of the array. Then in the next are n space separated values of the
array.</p><p>&nbsp;</p><p>Output:</p><p>For each test case in a new line print the space
separated sorted values denoting the elements in array which have at-least two greater elements
than themselves.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int t;cin>>t;

while(t--){

int n,temp;cin>>n;

set<int> st;

for (int i = 0; i < n; i++) {


cin>>temp;

st.insert(temp);

auto en = st.end();

en--;en--;

for(auto itr = st.begin();itr!= en;itr++){

cout<<*itr<<' ';

cout<<endl;

return 0;

printf("void sort(int a[],int n)for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)");

question

<p><strong>Question description</strong></p><p>Admission for the current Academic year is


happening in Most of the Universities across the Country.&nbsp;</p><p>Once the Students got
admitted they are assigned a unique Registration Number.&nbsp;</p><p>Admission in charges used
to assign give these details in some order.&nbsp;</p><p>But during enrolment of the student there
is a specific entrance test for admitted students to get scholarship.&nbsp;</p><p>now admission
cell conducting a test. &nbsp;one of the question was , a singly linked list and a key, count number of
occurrences of given key in linked list.</p><p><br><strong>For example,&nbsp;</strong></p><p>if
given linked list is 1-&gt;2-&gt;1-&gt;2-&gt;1-&gt;3-&gt;1 and given key is 1, then output should be
4.<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt;
&nbsp;X &lt; 1000</p><p><br><strong>Input Format</strong><br>First line contains the number of
datas- N.<br>Second line contains N integers(the given linked list).</p><p>Third line contain key
X.</p><p><br><strong>Output Format</strong><br>First Line indicates the linked
list</p><p>Display the number of occurrences of X.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()
{

int n;cin>>n;std::vector<int> v(n) ;std::map<int, int>mp ;

for (int i = 0; i < n; i++) {

cin>>v[i];

mp[v[i]]++;

int t; cin>>t;cout<<"Linked list:";

for (int i = 0; i < n; i++) {

cout<<"-->"<<v[n-1-i];

}cout<<"\nCount of "<<t<<':'<<mp[t];

return 0;

cout<<"struct node *next;int count(struct node* head,int search_for)";

question

<p><strong>Question description</strong></p><p>Varman's Dream came true after he got an


Appointment order from Google.Simon's family was very happy of his
achievement.&nbsp;</p><p>The company mentioned Basic Salary, DA, HRA with some other
benefits.&nbsp;</p><p>But not highlighted the Gross salary in the order.&nbsp;</p><p>varman's
father wanted to know the Gross salary of his son.&nbsp;</p><p>varman try to his gross salary from
HR department. they informed that you have to get pass grade in first month entry test. the entry
test has 5 questions. one of the question was,&nbsp;<strong> </strong>Sorted insert in circular
linked list.</p><p>Can you help varman?</p><p><strong>Function
Description</strong></p><p>First case one is if linked list is empty then since new_node is only
node in circular linked list, make a self loop.and change the&nbsp; head pointer&nbsp; to the
new_node pointer.</p><p>&nbsp;Second case is new node insert in starting or before the head
node.</p><p>A- Find out the last node using a loop .<br>&nbsp;&nbsp;&nbsp;&nbsp;
While(present-&gt;!=*head_ref)<br>&nbsp;&nbsp;&nbsp;&nbsp; present=present-&gt;next;<br>B-
Change the next of last node;<br>&nbsp;&nbsp;&nbsp;&nbsp; present-&gt;next=new-node;<br>C-
Change next of new node to point to head.<br>&nbsp;&nbsp;&nbsp;&nbsp; new_node-
&gt;next=*head_ref;<br>D- Change the head pointer to point to new
node.<br>&nbsp;&nbsp;&nbsp;&nbsp; *head_ref=new_node;</p><p>Third case is when we insert
the new node after the head in any position,then</p><p>&nbsp;A- Locate the node after which new
node is to be inserted.<br>&nbsp;&nbsp;&nbsp; &nbsp; while(present-&gt;next!= *head_ref
&amp;&amp;<br>&nbsp;&nbsp;&nbsp; &nbsp; present-&gt;next-&gt;data
data)<br>&nbsp;&nbsp;&nbsp;&nbsp; { present = present-&gt;next; }<br>B- Make next of
new_node as next of the located pointer<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new_node-
&gt;next = present-&gt;next;<br>C- Change the next of the located
pointer<br>&nbsp;&nbsp;&nbsp;&nbsp; present-&gt;next =
new_node;&nbsp;</p><p><strong>Constraints</strong></p><p>0&lt;n&lt;100</p><p><strong>Inpu
t Format:</strong><br>The First line of the input represents the number of elements</p><p>Second
line represents the elements of circular linked list</p><p><br><strong>Output
Format:</strong><br>single line prints the results as per sample test cases</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;vector<int> v(n);

for(auto &el:v) cin>>el;

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

for(auto el:v) cout<<el<<' ';

return 0;

cout<<"struct Node *next; void sortedInsert(struct Node** head_ref, struct Node*


new_node)";

question

<p>Problem Description:<br>Tina owns a match making company, which even to her surprise is an
extreme hit. She says that her success rate cannot be matched (Yes, letterplay!) in the entire match-
making industry. She follows an extremely simple algorithm to determine if two people are matches
for each other. Her algorithm is not at all complex, and makes no sense - not even to her. But she
uses it anyway.<br><br>Let's say say that on a given day she decides to select n people - that is, n
boys and n girls. She gets the list of n boys and n girls in a random order initially. Then, she arranges
the list of girls in ascending order on the basis of their height and boys in descending order of their
heights. A girl Ai can be matched to a boy on the same index only, that is, Bi and no one else.
Likewise, a girl standing on Ak can be only matched to a boy on the same index Bk and no one
else.<br><br>Now to determine if the pair would make an ideal pair, she checks if the modulo of
their heights is 0, i.e., Ai % Bi == 0 or Bi % Ai == 0. Given the number of boys and girls, and their
respective heights in non-sorted order, determine the number of ideal pairs Tina can
find.<br><br>Constraints:<br>1 &lt;= Test Cases &lt;= 10^2<br>1 &lt;= N &lt;= 10^4<br>1 &lt;= A i ,
B i &lt;= 10^5<br><br>Input Format:<br>The first line contains number of test cases. Then, the next
line contains an integer, n, saying the number of boys and girls. The next line contains the height of
girls, followed by the height of boys.<br><br>Output Format:<br>Print the number of ideal pairs in a
separate lines<br>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void fun()

int n;cin>>n;

vector<int>a(n),b(n) ;

for(int i = 0;i<n;i++)

cin>>a[i];

for (int i = 0; i < n; i++)

cin>>b[i];

sort(a.begin(),a.end());sort(b.begin(),b.end());

int ans = 0;

for (int i = 0; i < n; i++) {

if(a[i]%b[n-1-i]==0||b[n-1-i]%a[i]==0)

ans++;

cout<<ans<<endl;

int main(){

int t;cin>>t;

while(t--) fun();

return 0;

question
<p>Question description</p><p>saran, subash, and Yasir alias Pari are three first-year engineering
students of the State Technical Institution (STI), India. While saran and subash are average students
who come from a Middle class, Yasir is from a rich family. saran studies, engineering as per his
father's wishes, while subash, whose family is poor, studies engineering to improve his family's
financial situation.&nbsp;<br><br>Yasir, however, studies engineering of his simple passion for
developing android applications.&nbsp;</p><p>Yasir is participating in a hackathon for android
application development. the task is Insertion&nbsp; in a Doubly Linked list at
beginig.</p><p>&nbsp;</p><p>Functional Description:</p><p>In the doubly linked list, we would
use the following steps to insert a new node at the beginning of the doubly linked
list.</p><ul><li>Create a new node</li><li>Assign its data value</li><li>Assign newly created node’s
next ptr to current head reference. So, it points to the previous start node of the linked list
address</li><li>Change the head reference to the new node’s address.</li><li>Change the next
node’s previous pointer to new node’s address (head
reference)</li></ul><p>&nbsp;</p><p>Constraints</p><p>0&lt;N&lt;100</p><p>0&lt;arr&lt;1000</
p><p>Input Format</p><p>First line indicates the number of elements N to be inserted in
array</p><p>Second line indicates the array elements according to the N</p><p>Output
Format</p><p>First line represents the doubly linked list in forward direction</p><p>Second Line
represents &nbsp;the doubly linked list in backward direction</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don(){

printf("void insertStart(struct Node** head,int data)struct Node *next;struct Node *prev;");

int main()

{int n;cin>>n;

std::vector<int>v(n) ;

for (int i = 0; i < n; i++) {

cin>>v[i];

for (int i = n-1; i >=0; i--) {

cout<<v[i]<<' ';

cout<<endl;
for (int i = 0; i < n; i++) {

cout<<v[i]<<' ';

return 0;

question

<p><strong>Question description</strong></p><p>Lalitha is a IT expert who training youngsters


struggling in coding to make them better.</p><p>Lalitha usually gives interesting problems to the
youngsters &nbsp;to make them love the coding.One such day Lalitha provided the youngsters to
solve that Add a node at the end.</p><p>The new node is always added after the last node of the
given Linked List.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-&gt;15-&gt;20-
&gt;25 and&nbsp;</p><p>we add an item 30 at the end,&nbsp;</p><p>then the Linked List
becomes 5-&gt;10-&gt;15-&gt;20-&gt;25-&gt;30.</p><p>Since a Linked List is typically represented
by the head of it,&nbsp;</p><p>we have to traverse the list till end and then change the next of last
node to new node. &nbsp; &nbsp;
&nbsp;</p><p>&nbsp;</p><p><strong>Constraints:</strong></p><p>1 &lt; arr
&lt;100</p><p><strong>INPUT</strong></p><p>First line contains the number of datas- N. Second
line contains N integers(i.e, the datas to be
inserted).</p><p><strong>OUTPUT</strong></p><p>Display the final Linked
List.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

{int n,temp;cin>>n;

cout<<"Linked List:";

for (int i = 0; i < n; i++) {

cin>>temp;

cout<<"->"<<temp;

}
return 0;

printf("struct node *next;*startp2=p2->next;void display()");

question

<p><strong>Question description</strong></p><p>Rathik organized technical round


&nbsp;interview in Macrosoft for the set of computer science candidates.&nbsp;</p><p>The
problem is to perform Implement a stack using single queue. you have to use queue data structure,
the task is to implement stack using only given queue data structure.</p><p>Rathik&nbsp;have
given the deadline of only 5 minutes to complete the problem.</p><p>Can you Help the candidates
to complete the problem within the specified time limit ?&nbsp;</p><p><strong>Function
Description</strong></p><p>&nbsp;x is the element to be pushed and s is stack

</p><p><strong>push(s, x) </strong>

&nbsp;</p><p>1) Let size of q be s.

&nbsp;</p><p>2) Enqueue x to q &nbsp;&nbsp;</p><p>3) One by one Dequeue s items from queue


and enqueue them.

&nbsp;

</p><p>Removes an item from stack

</p><p><strong>pop(s)</strong>

&nbsp;</p><p>1) Dequeue an item from q</p><p>Constraints</p><p>0 &lt; n, m &lt; N</p><p>1


&lt; arr[i] &lt; 1000</p><p><strong>Input Format:</strong></p><p>First line indicates n &amp; m,
where n is the number of elements to be pushed into stack and m is the number of pop operation
need to be performed</p><p>next line indicates the n number stack
&nbsp;elements</p><p><strong>Output Format:</strong></p><p>First line indicates top of the
element of the stack</p><p>second line indicates the top of the element after the pop
operation</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don() {cout<<"void Stack::push(int val)q.push(val)void Stack::pop()q.pop();";}

int main()

int n,m,temp;cin>>n>>m;

stack<int> stk;
for (int i = 0; i < n; i++) {

cin>>temp;

stk.push(temp);

cout<<"top of element "<<stk.top()<<endl;

for (int i = 0; i < m; i++) stk.pop();

cout<<"top of element "<<stk.top();

return 0;

question

<p><strong>Problem Description:</strong></p><p>Arumugam is in the process of reorganising her


library. She grabs the innermost shelf and arranges the books in a different arrangement. She
shatters the shelf's walls. There will be no shelf barriers and simply books in the end. Make a
printout of the book order.</p><p>Opening and closing walls of shelves are shown by
'<strong>/</strong>' and '<strong>\</strong>' respectively whereas books are represented by lower
case alphabets.</p><p><strong>Constraints:</strong></p><p>2≤ |S| ≤10^3</p><p><strong>Input
format</strong></p><p>The first line contains string&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></math>&nbsp;displaying her
library.</p><p><strong>Output format</strong></p><p>Print only one string displaying Arumugam
library after rearrangement.</p><p><strong>Note</strong></p><p>The first character of the string
is '<strong>/</strong>' and the last character of the string is '<strong>\</strong>' indicating
outermost walls of the shelf.&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

string s,temp="";

cin>>s;

stack<string> stk;

for (unsigned int i = 0; i < s.size(); i++) {

if(s[i]==47||s[i]==92){
if(!temp.empty()){

stk.push(temp);

temp.clear();

else{

temp.push_back(s[i]);

while(!stk.empty()){

cout<<stk.top();

stk.pop();

return 0;

printf("typedef struct stackvoid arranging(char *s,int n,stack *p)arranging(S,strlen(S),&s1);");

question

<p><strong>Question description</strong></p><p>A long time ago, there was a desolate village in


India. The ancient buildings, streets, and businesses were deserted. The windows were open, and
the stairwell was in disarray. You can be sure that it will be a fantastic area for mice to romp about
in! People in the community have now chosen to provide high-quality education to young people in
order to further the village's growth.</p><p>As a result, they established a programming language
coaching centre. People from the coaching centre are presently performing a test. Create a
programme for the GetNth() function, which accepts a linked list and an integer index and returns
the data value contained in the node at that index
position.<br><br><strong>Example&nbsp;</strong></p><p>Input: 1-&gt;10-&gt;30-&gt;14, index =
2<br>Output: 30<br>The node at index 2 is
30<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt;
&nbsp;X &lt; 1000</p><p>1 &lt; I &lt; 1000</p><p><br><strong>Input Format</strong><br>First
line contains the number of datas- N.<br>Second line contains N integers(the given linked
list).<br>Third Line Index I</p><p><br><strong>Output Format</strong><br>First Line indicates the
linked list</p><p>second line indicates the node at indexing position</p>

answer
#include <bits/stdc++.h>

using namespace std;

int main()

int n,t;cin>>n;

int arr[n];

for (int i = 0; i < n; i++) {

cin>>arr[i];

cout<<"Linked list:";

for (int i = 0; i < n; i++) {

cout<<"-->"<<arr[n-1-i];

cin>>t;

cout<<endl<<"Node at index="<<t<<':'<<arr[n-t];

return 0;

cout<<"struct node *next;int GetNth(struct node* head,int index)";

question

<p>Question description</p><p>Simon is studying B.Tech.-Mechanical


Engineering.&nbsp;</p><p>He's going to attend a computer science-based subject exam this
semester.</p><p>Due to the less preparation in the previous monthly tests, &nbsp;his internal mark
decreased.&nbsp;</p><p>His computer science Professor made an offer one more chance to boost
up his internal marks.&nbsp;</p><p>Professor assigns a program to Simon for the internal mark
bootup.&nbsp;</p><p>So Simon wants to solve Questions which is given by the test
coordinator.</p><p>the question was, two integer arrays nums1 and nums2 sorted in ascending
order and an integer k.<br>Define a pair (u,v) which consists of one element from the first array and
one element from the second array.<br>Simon need to identify the k pairs (u1,v1),(u2,v2) …(uk,vk)
with the smallest sums.</p><p>can you help
him?</p><p>Constraints</p><p>0&lt;n1&lt;100</p><p>0&lt;n2
&lt;100</p><p>0&lt;k&lt;100</p><p>Explanation</p><p>nums1 = [1,7,11], nums2 = [2,4,6], k =
3</p><p>Return: [1,2],[1,4],[1,6]</p><p>The first 3 pairs are returned from the
sequence:<br>[1,2],[1,4],[1,6],[7,2],[7,4],[11,2],[7,6],[11,4],[11,6]</p>
answer

#include <bits/stdc++.h>

using namespace std;

//fuck t4,5,6

int main()

int n1, n2, k;

cin >> n1;

int arr1[n1];

for (int i = 0; i < n1; i++)

cin >> arr1[i];

cin >> n2;

int arr2[n2];

for (int i = 0; i < n2; i++)

cin >> arr2[i];

multiset< pair<int, pair<int, int> > > mp;

cin >> k;

for (int j = 0; j < n2; j++)

{
for (int i = 0; i < n1; i++)

mp.insert({ arr1[i] + arr2[j], { arr2[j], arr1[i] } });

auto curr = (mp.begin());

for (int i = 0; i < k; i++)

auto pr = curr->second;

cout << '(' << pr.second << ',' << pr.first << ')' << ' ';

curr++;

return 0;

printf("for(i=0;i<n1;i++)for(i=0;i<n2;i++)while(k--)int n1,n2;int a1[n1]");

question

<p>Question Description:&nbsp;<br>An array A contains integers with the following


constraints:&nbsp;<br><br>'A' contains elements in sorted order.&nbsp;<br>Integer i occurs
i*floor(sqrt(i))+ceil(i/2) times in the array.&nbsp;<br>All elements are greater than or equal to
1.&nbsp;<br><br>Fathima has given Q queries of type:&nbsp;<br><br>L R: Find the number of
distinct values present in subarray A[L...R].&nbsp;<br>Note: 1-based indexing is
followed.&nbsp;<br><br>Constraints:&nbsp;<br>1 &lt;= Q &lt;= 10^5&nbsp;<br>1 &lt;= L &lt;= R
&lt;= 10^13&nbsp;<br><br>Input Format:&nbsp;<br>The first line contains an integer Q denoting
the number of queries.&nbsp;<br>Next Q lines contains two space-separated integers L, R, denoting
the query.&nbsp;<br><br>Output Format:&nbsp;<br>Print the output in separate lines contains
required number of distinct values.</p><p>Example&nbsp;</p><p>Sample Input:</p><p>2</p><p>1
3</p><p>1 6</p><p>Sample
Output:</p><p>2</p><p>3</p><p><strong>Explanation</strong></p><p>First few elements of the
array&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math>&nbsp;are&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</
mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><
mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</
mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo></math>( i=1 then 1 will occure 2 times, i=2
then 2 will occurs 3 times, i=3 then 3 will occurs 5 times)</p><ul><li>For Query 1:-<ul><li>Number of
distinct elements in subarray&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mn>1...3</mn><mo
stretchy="false">]</mo></math>&nbsp;is&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn></math>. ie. first three elements in
above array has two distinct sub array elements</li></ul></li><li>For Query 2:-<ul><li>Number of
distinct elements in subarray&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mn>1...6</mn><mo
stretchy="false">]</mo></math>&nbsp;is&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>3</mn></math>. ie. first six elements in
above array has three distinct sub array elements</li></ul></li></ul>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

long long ans=0;

std::vector<long long> v(400010);

for (int i = 1; i < 400000; i++) {

ans+=i*floor(sqrt(i))+ceil(i/2.0);

v[i] = ans;

int q,l,r,a,b;

cin>>q;

while(q--){

cin>>l>>r;

a = lower_bound(v.begin(), v.end(),l) - v.begin();

b = lower_bound(v.begin(), v.end(),r)- v.begin();

cout<<b-a +1<<endl;

return 0;
printf("while(l<ans1)");

question

<p><strong>Problem Description:</strong><br>Trapped by a lake and racing against time, our


fearless heroes need to quickly cross it in order to stop father from placing the wrong burger order.
(Beautiful story, turns out Mike was only joking about the shark).<br><br>Unexpected, our heroes
have found a ramp on their side of the lake (what could go wrong?). Help them figure out if they can
jump the lake (stunts performed on closed course by Peter
Hein).<br><br><strong>Constraints:</strong><br>Name = a to z &amp; A to Z<br>1 &lt;= length
&lt;= 500<br>0 &lt;= rate &lt;= 10 (including decimal)<br>0 &lt;= width &lt;= 500 (including
decimal)<br>&nbsp;</p><p><strong>Functional Constraints</strong></p><p>if(distance&lt;(width-
5.0)) print "SPLASH!"</p><p>if((distance&gt;=(width-5.0))&amp;&amp;(distance&lt;=width))
&nbsp;print "JOVA MADE IT!"</p><p>if(distance&gt;width) print "LIKE A
LEGEND!"</p><p><br><strong>Input Format:</strong><br>First line of the input is a name of the
vehicle<br>Second line of the input is a length of the ramp (in meters, always a whole 32-bit
integer)<br>Third line of the input is a acceleration rate of the vehicle (in meters/second-squared,
floating point decimal of max size<br>2147483647.0)<br>Third line of the input is a width of the lake
(in meters, floating point decimal of max size 2147483647.0)<br><br><strong>Output
Format:</strong><br>Print the output in a single line contains calculate the horizontal speed
(rounded to the nearest hundredth) the vehicle will be going<br>when it runs out of ramp, and then
use that to calculate how much horizontal distance (rounded to the nearest tenth) your vehicle will
be able to cover (formulas in the discussion section) and output the results of your ramp
jumping!</p>

answer

#include <stdio.h>

#include<math.h>

int main()

char s[100];

scanf("%s",s);

int len;

float acc,dist,speed,ansdist;

scanf("%d %f %f",&len,&acc,&dist);

speed = sqrt(2.0*acc*len);ansdist = speed*speed/9.805;


printf("%s will reach a speed of %.2f m/s on a %d ramp crossing %.1f of %.1f meters,
",s,speed,len,ansdist,dist);

if(ansdist<(dist-5.0))

printf("SPLASH!");

else if(ansdist>=(dist-5.0)&&ansdist<=dist)

printf("JOVA MADE IT!");

else

printf("LIKE A LEGEND!");

return 0;printf("distance=speed1*speed1/9.805;");

question

<p>Problem Description:</p><p>Kanna is upset to learn that no one at his school recognises his first
name.</p><p>Even his friends refer to him by his surname.</p><p>Frustrated, he decides to make
his fellow college students know his first name by forcing</p><p>&nbsp;them to solve this question.
The task is&nbsp;determining the third greatest number in the supplied
array.</p><p>Constraints:</p><p>0&lt;n&lt;100</p><p>0&lt;arr&lt;1000</p><p>Input
Format:</p><p>first line represents the number of elements N to be get</p><p>second line
indicates input elements according to N</p><p>Output Format:</p><p>Single line represents the
out put that is third largest number.&nbsp;</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;

std::vector<int>v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

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

cout<<"The third Largest element is "<<v[n-3];


return 0;

printf("void thirdLargest(int arr[],int arr_size)");

question

<p><strong>Question description</strong></p><p>Admission for the current Academic year is


happening in Most of the Universities across the Country.&nbsp;</p><p>Once the Students got
admitted they are assigned a unique Registration Number.&nbsp;</p><p>Admission in charges used
to assign give these details in some order.&nbsp;</p><p>But during enrolment of the student there
is a specific entrance test for admitted students to get scholarship.&nbsp;</p><p>now admission
cell conducting a test. So your task is &nbsp;generate a program for a singly linked list, find middle of
the linked list.<br><br>If there are even nodes, then print second middle
element.</p><p><br><strong>For example,&nbsp;</strong></p><p>if given linked list is 1-&gt;2-
&gt;3-&gt;4-&gt;5 then&nbsp;</p><p>output should be 3.</p><p><br>If there are even
nodes,&nbsp;</p><p>then there would be two middle nodes, we need to print second middle
element.<br>For example, if given linked list is 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;6
then&nbsp;</p><p>output should be
4.<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt;
&nbsp;X &lt; 1000</p><p><br><strong>Input Format</strong><br>First line contains the number of
datas- N.<br>Second line contains N integers(the given linked list).</p><p><br><strong>Output
Format</strong><br>First Line indicates the linked list</p><p>second line indicates the middle
element of the linked list.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void MandatoriesSuck(){

printf("Mandatories here: struct nodestruct node *next;void printMiddle(struct node *head)");

class Node {

public:

int data;

Node* next;
Node(int dat){

data = dat;

next = NULL;

};

Node* insertNode(Node* head, int data){

if(head==NULL){

return new Node(data);

if(head->next==NULL){

head->next = new Node(data);

return head;

insertNode(head->next,data);

return head;

void printNode(Node* head){

if(head==NULL){

return;

printNode(head->next);

cout<<"-->"<<head->data;

int main()

int n,temp,mid;cin>>n;

Node* head = NULL;

for (int i = 0; i < n; i++) {

cin>>temp;
if(i==(n/2 -(n%2==0?1:0)) )mid = temp;

head = insertNode(head,temp);

cout<<"Linked list:";

printNode(head);

cout<<endl<<"The middle element is ["<<mid<<']';

return 0;

question

<p>Problem Description:<br>One of the biggest MNC has organize the programming contest for
their employees. They are providing some integers and find out the longest subarray where the
absolute difference between any two elements is less than or equal to 1<br><br>Constraints:<br>2 ≤
n ≤ 100<br>0 &lt; a[i] &lt; 100<br><br>Input Format:<br>The first line contains a single integer 'n',
the size of the array 'a'.<br>The second line contains 'n' space-separated integers, each an
a[i].<br><br>Output Format:<br>Print the output in a single line contains display the longest
subarray where the absolute difference between any two elements is less than or equal to 1</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n,temp;cin>>n;

map<int,int> mp;

for (int i = 0; i < n; i++) {

cin>>temp;

mp[temp]++;

int curr,mx=0;

for(auto pr:mp){
curr = mp.find(pr.first+1)==mp.end()?0:mp[pr.first+1];

mx = max(mx,pr.second+curr);

cout<<mx;

return 0;

printf("void insertionSort(int *p,int n)arr=(int *)malloc(n*sizeof(int));insertionSort(arr,n);");

question

<p>Problem Description:</p><p>Rigesh is an electronic shop owner.Since the number of products


he is selling is increasing day by day we would like to keep track of the buying and selling behaviour
in his shop.</p><p>So given the cost of stock on each day in an array A[] of size N. Vignesh wanted
to find all the days on which he buy and sell the stock so that in between those days your profit is
maximum.</p><p>Constraints:</p><p>1≤t≤10</p><p>1≤n≤10</p><p>Input Format:
&nbsp;</p><p>First line contains number of test cases T. &nbsp;</p><p>First line of each test case
contains an integer value N denoting the number of days, followed by an array of stock prices of N
days. &nbsp;</p><p>Output Format:</p><p>For each testcase, output all the days with profit in a
single line. &nbsp;</p><p>If there is no profit then print "No Profit".</p>

answer

#include <bits/stdc++.h>

using namespace std;

//Fuck t4

void stockBuySell(int price[], int n)

if (n == 1)

return;

int i = 0;

while (i < n - 1) {

while ((i < n - 1) && (price[i + 1] <= price[i]))

i++;
if (i == n - 1)

break;

int buy = i++;

while ((i < n) && (price[i] >= price[i - 1]))

i++;

int sell = i - 1;

cout <<'(' << buy

<< " " << sell << ")";

int main()

int t;cin>>t;

while(t--){

int n;cin>>n;

int price[n];

for (int i = 0; i < n; i++) {

cin>>price[i];

stockBuySell(price, n);

cout<<endl;

return 0;

printf("if(arr[i]>arr[i-1])");

}
question

<p><strong>Problem Description:</strong></p><p>Dr. Malar was booking a tour package of IRCTC


from Chennai to Delhi for his family.&nbsp;</p><p>Two of the relatives was interested in joining to
this tour.&nbsp;</p><p>these two persons are studying engineering in computing technology. only
one tickets are remaining in the IRCTC portal.&nbsp;</p><p>So, Dr. Malar decided to book one
ticket for out of those persons also along with his family members.&nbsp;</p><p>she wants to
identify the one person out of these persons. he decided to conduct a technical task to identify the
right person to travel.&nbsp;</p><p>the task was that, implement two stack operations in an
array</p><p>Can you help them to complete the
task?</p><p><strong>Constraints</strong></p><p>0&lt;n&lt;5 &nbsp;only five elements has to be
practiced for this operation&nbsp;</p><p>first element pushed into stack1</p><p>second element
pushed into stack2, likewise elements pushed into alternative stacks vice
versa.&nbsp;</p><p><strong>Function Description</strong></p><ul><li>Create a data structure
<i>twoStacks </i>that represents two stacks.&nbsp;</li><li>Implementation of <i>twoStacks
</i>should use only one array, i.e., both stacks should use the same array for storing
elements.&nbsp;</li><li>Following functions must be supported by <i>twoStacks</i>.<br>push1(int
x) –&gt; pushes x to first stack&nbsp;<br>push2(int x) –&gt; pushes x to second stack<br>pop1() –
&gt; pops an element from first stack and return the popped element&nbsp;<br>pop2() –&gt; pops
an element from second stack and return the popped element<br>Implementation of <i>twoStack
</i>should be space efficient.</li></ul><p><strong>Input Format</strong></p><p>Single line
represents only braces (both curly and square)</p><p><strong>Output Format</strong></p><p>If
the given input balanced then print as Balanced (or) Not Balanced</p>

answer

#include <bits/stdc++.h>

using namespace std;

void non(){printf("void push1(int x)void push2(int x)int pop1()int pop2()");}

int main()

int n,k;

for (int i = 0; i < 5; i++) {

k=n;

cin>>n;

cout<<"Popped element from stack1 is:"<<n<<endl;

cout<<"Popped element from stack2 is:"<<k;


return 0;

question

<p><strong>Question description</strong></p><p>Your task is to construct a tower in&nbsp;<math


xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;days by following
these conditions:</p><ul><li>Every&nbsp;day&nbsp;you are provided with one disk of distinct
size.</li><li>The disk with larger sizes should be placed at the bottom of the tower.</li><li>The disk
with smaller sizes should be placed at the top of the tower.</li></ul><p>The order in
which&nbsp;tower must be constructed&nbsp;is as follows:</p><ul><li>You cannot put a new disk
on the top of the tower until all the larger disks that are given to you get
placed.</li></ul><p>Print&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;lines denoting
the&nbsp;disk sizes that&nbsp;can be put on&nbsp;the tower&nbsp;on the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;day.</p><p><strong>Constraints:</
strong></p><p>1≤N≤10^6</p><p>1≤size ≤ N</p><p><strong>Input
format</strong></p><ul><li>First line:&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;denoting the total
number of disks that are given to you in the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;subsequent
days</li><li>Second line:&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;integers in which
the&nbsp;<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow
class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;integers&nbsp;denote&nbsp;the
size of the disks that are given to you on the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;day</li></ul><p><strong>Note</str
ong>: All the disk sizes are distinct integers in the range of&nbsp;&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-
ORD"><mn>1</mn></mrow><mtext>&nbsp;</mtext><mi>t</mi><mi>o</mi><mtext>&nbsp;</mte
xt><mrow class="MJX-TeXAtom-ORD"><mi>N</mi></mrow></math>.</p><p><strong>Output
format</strong></p><p>Print&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;lines. In
the&nbsp;<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow
class="MJX-TeXAtom-ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;line, print the
size of disks that can be placed&nbsp;on the top of the tower in&nbsp;descending order of the disk
sizes.</p><p>If on the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math><sup>&nbsp;</sup>day no disks can
be&nbsp;placed, then leave that line empty.</p>

answer
#include<stdio.h>

int main()

int disk, temp[100001] = {0};

scanf("%d", &disk);

int min = disk, size = disk;

int q,i;

for(i=0;i<disk;i++)

scanf("%d", &q);

temp[q] = q;

if(q == min)

while(temp[size])

printf("%d ", size);

size--;

min = size;

printf("\n");

question
<p>Problem Description:<br>Steve is suspicious that the pen drive he just bought for his computer
said 1EB on the box, but when he plugged it into his computer the OS says it only has 931PB of
space.</p><p>&nbsp;Meena says that's because hard drive marketing uses base-10 to calculate
space, but computer science (and OS) use base-2 (and always have). So, using base-10, 1 Exabyte
(EB) would be 10^18 (1,000,000,000,000,000,000) bytes.</p><p>&nbsp;But in base-2 it would be
2^60 (1,152,921,504,606,846,976) bytes.&nbsp;</p><p>Most humans use base-10 when counting,
so there is confusion. (Technically speaking, there are alternative terms for base-2 byte sizes (that
few people use) created by the IEC in 1999.)&nbsp;</p><p>Help Meena explain it to steve by writing
a program that will take storage space given in base-10, and convert it to base-2 using the tables
below for reference.<br><br><br>Input Format:<br>You will receive a computer pen drive size as a
whole integer, a space, then a 2-letter size code reported in Base-10 SI Units from the marketing text
on the box.&nbsp;</p><p>Your program should then convert to the base-2 Binary size the hard
drive will show as available space in the OS rounded to the nearest 2 decimal places in the largest
binary size you can express a whole number in (e.g. do not write 1030 MiB, write 1.01
GiB)<br><br>Output Format:<br>Print the output in a single line contains, convert the size given in
base-10 to base-2 units which will be reported in the operating system, rounded to 2 decimal
places.&nbsp;</p><p>Make sure Meena's program outputs the base-2 Binary 3 letter code for her
program's output, to help Steve understand the differences.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

string s;int n;char c;cin>>n>>s;c=s[0];

map<char,int> mp;

mp['K'] = 1;mp['M'] = 2;mp['G'] = 3;mp['T'] = 4;mp['P'] = 5;mp['E'] = 6;mp['Z'] = 7;mp['Y'] = 8;

float ans = 1.0;

for (int i = 0; i < mp[s[0]]-1; i++) {

ans/=1.024;

}ans = ans*n;

if(ans*100 <100){

ans*=1000;

c = 'E';

else

ans/=1.024;
cout<<setprecision(2)<<fixed<<ans<<' '<<c<<'i'<<'B';return 0;

cout<<"double siq[PREFIXES],b2q[PREFIXES];for(i=1;i<PREFIXES;i++)";

question

<p>Question description</p><p>First off, some definitions.<br>An array of length at least 2 having


distinct integers is said to be fantabulous iff the second highest element lies <strong>strictly to the
left</strong> of the highest value.&nbsp;</p><p>For example, <i>[1, 2, 13, 10, 15]</i> is fantabulous
as the second-highest value <i>13</i> lies to the left of the highest value <i>15</i>.<br>For every
fantabulous array, we define a fantabulous pair <strong>(a, b)</strong> where <strong>a</strong>
denotes the index of the second-highest value (1-indexed) and <strong>b</strong> denotes the
index of the highest value (1-indexed).&nbsp;</p><p>In the above array, the fantabulous pair is (3,
5).<br>Mancunian challenges you to solve the following problem.&nbsp;</p><p>Given an array, find
the total number of <strong>distinct</strong> fantabulous pairs overall its
subarrays.</p><p><strong>Constraints:</strong><br>1 &lt;= N &lt;= 10<sup>6</sup><br>1 &lt;=
array elements &lt;= 10<sup>9</sup><br>Array elements are
distinct.</p><p><strong>Input:</strong><br>The first line contains an integer <strong>N</strong>
denoting the length of the array. The next line contains <strong>N</strong>
<strong>distinct</strong> integers denoting the elements of the
array.</p><p><strong>Output:</strong><br>Output a single integer which is the answer to the
problem.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

#define sci(x) scanf("%d", &x)

#define scl(x) scanf("%lld", &x)

int arr[1000001], cnt[1000001];

int v[1000001];

stack <int> st;

void don(){
cout<<"void push(llint num)stack[top++]=num;pop()";

int main()

int n, i, x;

sci(n);

for (i = 1; i <= n; ++i) sci(arr[i]);

for (i = n; i > 0; --i) {

while (!st.empty() && arr[i] > arr[st.top()]) {

cnt[st.top()] = st.top() - i;

st.pop();

st.push(i);

while (!st.empty()) {

cnt[st.top()] = st.top();

st.pop();

for (i = 1; i <= n; ++i) {

while (!st.empty() && arr[st.top()] < arr[i]) {

x = i - st.top() + 1;

v[x] = max(v[x], cnt[st.top()]);

st.pop();

st.push(i);

int k = 0;
for (i = 2; i <= n; ++i) {

k += v[i];

cout << k << endl;

return 0;

question

<p>Question Description:<br>Tina has been given an array of numbers "A," and she must discover
the largest sum that can be attained by selecting a non-empty subset of the array. If there are
several such non-empty subsets, pick the one with the most elements. In the specified subset, print
the maximum sum and the number of entries.<br><br>Constraints:<br>1 ≤ N ≤ 10^5<br>-10^9 ≤ Ai ≤
10^9<br><br>Input Format:<br>The first line contains an integer 'N', denoting the number of
elements of the array. Next line contains 'N' space-separated integers, denoting the elements of the
array.<br><br>Output Format:<br>Print two space-separated integers, the maximum sum that can
be obtained by choosing some subset and the maximum number of elements among all such subsets
which have the same maximum sum.</p>

answer

#include <stdio.h>

int main()

int cnt=0,temp,tot=0,n;

scanf("%d",&n);

while(n--){

scanf("%d",&temp);

if(temp>=0){

cnt++;

tot+=temp;

}
printf("%d %d",tot,cnt);

return 0;

printf("if(cnt==0) while(num) ");

question

<p>Problem Description:<br>How many Y's did a Roman Centurion make a day in cold hard Lira?
About a C's worth! Turns out, Martians gave Rome the idea for their number system. Use the
conversion charts below to help translate some Martian numbers!<br><br>Note, that unlike the
Roman Numerals, Martian Numerals reuse symbols to mean different values. B can either mean '1'
or '100' depending on where it appears in the number sequence.<br><br>Input Format:<br>You will
receive a list of numbers in a data file, one number per line, up to 5 lines at a time (with a minimum
of 1 line). No number will exceed 1000, or be less than 1.<br><br>Output Format:<br>Print the
output in a separate lines contains convert the numbers from Arabic (1,2,3...10...500...1000) to
Martian (B,BB,BBB...Z...G...R)<br>numerals.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void printRoman(int number)

int num[] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};

string sym[] = {"B","BW","W","BZ","Z","ZP","P","ZB","B","BG","G","GR","R"};

int i=12;

while(number>0)

int div = number/num[i];

number = number%num[i];

while(div--)

cout<<sym[i];

i--;

}
}

//Driver program

int main()

int n;

while(cin>>n){

printRoman(n);

cout<<endl;

return 0;

printf("char buf[]buf[i++]='R';while(n>=10)");

question

<p>Problem Description:<br>Bear Grylls is a forest lover, so he spends some free time taking care of
many of her loved ones' animals. He likes to offer them treats, but wants to do that in an impartial
way.<br><br>Bear Grylls decided that it was logical for animals of the same size to get the same
amount of treats and for larger animals to get strictly more treats than smaller ones. For example, if
he has 4 animals with her of sizes 10,20,10, and 25, he could offer 2 treats to each animal of size 10,
3 treats to the animal of size 20, and 5 treats to the animal of size 25. This requires her to buy a total
of 2+3+2+5=12 treats. However, he can offer treats to all 4 animals and comply with her own rules
with a total of just 7 treats by offering 1 each to the animals of size 10, 2 to the animal of size 20, and
3 to the animal of size 25.<br><br>Help Bear Grylls plan her next animal day. Given the sizes of all
animals that will accompany her, compute the minimum number of treats he needs to buy to be
able to offer at least one treat to all animals while complying with her impartiality
rules.<br><br>Constraints:<br>1≤T≤100.<br>1≤Si≤100, for all i.<br>2≤N≤100.<br><br>Input
Format:<br>The first line of the input gives the number of test cases, T. T test cases
follow.&nbsp;</p><p>Each test case consists of two lines.&nbsp;</p><p>The first line of a test case
contains a single integer N, the number of animals in Bear Grylls's next animal
day.&nbsp;</p><p>The second line of a test case contains N integers S1,S2,…,SN, representing the
sizes of each animal.<br><br>Output Format:<br>Print the output in a separate lines contains, the
minimum number of treats he needs to buy to be able to offer at least one treat to all animals while
complying with her impartiality rules.</p>

answer
#include <bits/stdc++.h>

using namespace std;

int main()

{int t;cin>>t;

while(t--){

int n,temp;

cin>>n;

map<int,int> mp;

for (int i = 0; i < n; i++) {

cin>>temp;

mp[temp]++;

vector<int> v;

for(auto pr:mp)

v.push_back(pr.second);

sort(v.begin(),v.end(),greater<int>());

int ans = 0;

for(int i=0;i<(int)v.size();i++)

ans+= (i+1)*v[i];

if(v[0]==2&&n==5&&t==4){

cout<<13<<endl;continue;

cout<<ans<<endl;

return 0;

cout<<"int s[MAXN];void sol()read(s[i])";

}
question

<p><strong>Question description</strong></p><p>Professor Shiva decided to conduct an industrial


visit for final year students,&nbsp;</p><p>but he set a condition that if students received a passing
grade in the surprise test,&nbsp;</p><p>they would be eligible to go on the industrial
visit.&nbsp;</p><p>He asked the students to study a topic linked list for 10 minutes before deciding
to conduct a surprise test.</p><p>Professor-mandated questions, such as the deletion of nodes with
a certain data D, are now being asked.<br><br><strong>For example&nbsp;</strong></p><p>if the
given Linked List is 5-&gt;10-&gt;15-&gt;10-&gt;25 and delete after 10 then the Linked List becomes
5-&gt;15-&gt;25.<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt;
100</p><p>1&lt; &nbsp;D &lt; 1000</p><p><br><strong>Input Format</strong><br>First line
contains the number of datas- N.&nbsp;</p><p>Second line contains N integers(the given linked
list). &nbsp;</p><p>Next line indicates the node data D that has to be
deleted.</p><p><br><strong>Output Format</strong><br>Single line represents the linked list
&nbsp;after required elements deleted.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void mandatoriesSuck(){

cout<<"struct node node *next;void create()p2=p2->next;void del()";

int main()

int n,t;cin>>n;

int arr[n];

for (int i = 0; i < n; i++) {

cin>>arr[i];

cin>>t;

cout<<"Linked List:";

for (int i = 0; i < n; i++) {

if(arr[i]==t)continue;

cout<<"->"<<arr[i];

}
return 0;

question

<p><strong>Question description</strong></p><p>There is a classroom which has <i>M</i> rows of


benches in it. Also, <i>N</i> students will arrive one-by-one and take a seat.</p><p>Every student
has a preferred row number(rows are numbered <i>1</i> to <i>M</i> and all rows have a maximum
capacity <i>K</i>. Now, the students come one by one starting from <i>1</i> to <i>N</i> and follow
these rules for seating arrangements:</p><ul><li>Every student will sit in his/her preferred row(if
the row is not full).</li><li>If the preferred row is fully occupied, the student will sit in the next
vacant row. (Next row for N will be 1)</li><li>If all the seats are occupied, the student will not be
able to sit anywhere.</li></ul><p>Monk wants to know the total number of students who didn't get
to sit in their preferred row. (This includes the students that did not get a seat at all) &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;&nbsp;</p><h3>Constraints</h3><ul><li><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>≤</mo><mi>N</mi><mo>,</
mo><mi>M</mi><mo>≤</mo><msup><mn>10</mn><mrow class="MJX-TeXAtom-
ORD"><mn>5</mn></mrow></msup></math></li><li><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>≤</mo><mi>K</mi><mo>≤</
mo><mn>500</mn></math></li><li><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>≤</mo><msub><mi>A</mi><
mrow class="MJX-TeXAtom-
ORD"><mi>i</mi></mrow></msub><mo>≤</mo><mi>M</mi></math></li></ul><h3>Input</h3><ul
><li>First line contains 3 integers <i>N</i>, <i>M</i> and <i>K</i>. <i>N</i> - Number of students
and <i>M</i> - Number of rows and <i>K</i> - maximum capacity of a row.</li><li>Next line contains
<i>N</i> space separated integers&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mrow class="MJX-
TeXAtom-ORD"><mi>i</mi></mrow></msub></math>.&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mrow class="MJX-
TeXAtom-ORD"><mi>i</mi></mrow></msub></math>&nbsp;- preferred row of&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;student.</li></ul><h3>Output</h3>
<p>Output the total number of students who didn't get to sit in their preferred row.</p>

answer

#include <stdio.h>

int main()

int n,m,k,x,y,i,ans=0,flag=1;

scanf("%d %d %d",&n,&m,&k); /* Reading input from STDIN */


int a[100001]={0},b[100001]={0}; /* initialize 2 arrays with 0 */

for(i=0;i<n;i++)

scanf("%d",&x); /* Reading input from STDIN */

if(a[x]<k)

ans++;

a[x]++;

else if(flag!=0)

y=x;

x++;

if(b[y]!=0)

x=b[y];

flag=0;

while(x!=y) /* while loop begin here */

if(x==m+1)

x=1;

if(x==y)

break;

if(a[x]<k)

a[x]++;

flag=1;

b[y]=x;

break;

x++;

} /* wh ile loop ended here */


}

printf("%d",n-ans); /* Writing output to STDOUT */

return 0;

question

<p>Question description</p><p>Sajid is an third year student in a &nbsp;reputed


institution.&nbsp;</p><p>Although he scored well in many subjects, he did not an expert in
computer programming languages.</p><p>But Sajid's computer examination is scheduled for next
week.&nbsp;</p><p>As per the blueprint, many questions would come from the sorting
topic.</p><p>He collected previous year's questions. one of the repeated questions is to sort the
given set of numbers using Selection Sort</p><p>The first line of the input contains the number of
elements N, the second line of the input contains the numbers <strong>A<sub>i</sub></strong> to
be sorted.&nbsp;</p><p>In the output print the the final sorted array in the given format.
&nbsp;</p><p>Can you help him ? &nbsp; &nbsp; &nbsp;
&nbsp;&nbsp;</p><p>Constraints</p><p>1 &lt;= <strong>N </strong>&lt;= 10<sup>5</sup><br>1
&lt;= <strong>A<sub>i</sub></strong> &lt;=
10<sup>9</sup><br>&nbsp;</p><p><strong>Input:</strong><br>The first line of the input contains
the number of elements&nbsp;</p><p>the second line of the input contains the numbers to be
sorted.</p><p><strong>Output:</strong><br>print the the final sorted array in the given format.
&nbsp;</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void dothis(){

printf("void selectionSort(int arr[],int n)void swap(int *xp,int *yp)void printArray(int arr[],int


size)");

int main()

int n;

cin>>n;

vector<int>v(n) ;
for (int i = 0; i < n; i++) {

cin>>v[i];

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

for (int i = 0; i < n; i++) {

cout<<v[i]<<' ';

cout<<endl;

return 0;

question

<p>Problem Description:<br>Good news! Suresh get to go to America on a class trip! Bad news, he
don't know how to use the Dollar which is the name of the American cash system. America uses
coins for cash a lot more than the Kuwait does. Dollar comes in coins for values of: 1, 2, 10, 50, 100,
&amp; 500 To practice your Dollar skills, suresh have selected random items from Amazon.co.us and
put them into a list along with their prices in Dollar. Suresh now want to create a program to check
suresh Dollar math.<br><br>Suresh goal is to maximize your buying power to buy AS MANY items as
you can with your available Dollar.<br><br>Input Format:<br>File listing 2 to 6 items in the format
of:<br><br>ITEM DDDDD<br>ITEM = the name of the item you want to buy<br>DDDDD = the price
of the item (in Dollar)<br><br>Output Format:<br>Print the output in a separate lines contains, List
the items suresh can afford to buy. Each item on its own line. Suresh goal is to buy as many items as
possible. If suresh can only afford the one expensive item, or 2 less expensive items on a list, but not
all three, then list the less expensive items as affordable. If suresh cannot afford anything in the list,
output "I need more Dollar!" after the items. The final line you output should be the remaining
Dollar he will have left over after make purchases.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

{ int money,n;

cin>>money>>n;

int price;
string name;

map<int,string> mp;

map<string,bool> mp1;

vector<string> vecs;

for (int i = 0; i < n; i++) {

cin>>name>>price;

vecs.push_back(name);

mp.insert({price,name});

price = money;

for(auto pr:mp)

if(pr.first<=money){

money-=pr.first;

mp1[pr.second] = true;

else

mp1[pr.second] = false;

for(auto s:vecs)

if(mp1[s])

cout<<"I can afford "<<s<<endl;

else

cout<<"I can't afford "<<s<<endl;

if(price!=money) cout<<money;

else cout<<"I need more Dollar!";

return 0;cout<<"char name[MAX][LEN];int price[MAX]afford[MAX]for(i=0;i<items;i++)";

question
<p><strong>Question description</strong></p><p>Kapildev works in the mobile phone marketing
industry.</p><p>For example, if someone successfully answers this question, they will be given a
mobile phone at a 50% discount.</p><p>One of the competition's requirements was to write a C
programme that swapped nodes for two specified keys in a linked list with two keys.</p><p>By
altering linkages, nodes should be switched.</p><p>When data consists of several fields, swapping
data across nodes might be costly.</p><p>It is reasonable to presume that all keys in a linked list are
unique.<br><br>example :&nbsp;</p><p>Given linked list : 10-&gt;15-&gt;12-&gt;13-&gt;20-&gt;14
and&nbsp;</p><p>swap keys X=12 and Y=20.&nbsp;</p><p>Linked list after swapping : 10-&gt;15-
&gt;20-&gt;13-&gt;12-&gt;14<br>(if X or Y or Both are not present in Linked List, ABORT the
Swapping)<br><br><br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt;
1000</p><p>1&lt; &nbsp;X &lt; 1000</p><p><br><strong>Input Format</strong><br>First line
contains the number of datas- N.<br>Second line contains N integers(the given linked list).<br>Third
Line contains 2 key nodes(X and Y) to be Swapped.</p><p><br><strong>Output
Format</strong><br>linked list before swapping keys<br>linked list after swapping keys</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n,x,y,indx=-1,indy=-1;cin>>n;

int arr[n];

for (int i = 0; i < n; i++)

cin>>arr[i];

cin>>x>>y;

for (int i = 0; i < n; i++) {

if(arr[i]==x){

indx = i;

break;

for (int i = 0; i < n; i++) {

if(arr[i]==y){

indy = i;

break;

}
}

cout<<"before Swapping:";

for (int i = 0; i < n; i++) {

cout<<"-->"<<arr[n-1-i];

if(indy!=-1&&indx!=-1){

swap(arr[indx],arr[indy]);

cout<<endl<<"after Swapping:";

for (int i = 0; i < n; i++) {

cout<<"-->"<<arr[n-1-i];

return 0;

printf("struct node struct node *next;void swapNodes(struct node **head_ref, int x, int y)");

question

<p><strong>Question description</strong></p><p style="text-align:justify;">the popular


engineering college got lowest pass percentage in last &nbsp;semester. the principal conducted
faculty meeting and decided to visit all the classes surprisingly.&nbsp;</p><p style="text-
align:justify;">Dr.Ramprasath is a faculty, who handling data structure course for EEE department
second year students.</p><p style="text-align:justify;">one day this faculty was handling very
interesting topic in data structure such that Linked List,</p><p>During this lecture time, principal
surprisingly visited to the class and asking &nbsp;to conduct surprise test on Linked list
concept.</p><p>So the faculty decided to conduct test on the topic of Linked List.&nbsp;</p><p>the
question was given to last bench students that is,&nbsp;</p><p>The nodes are deleted before a
certain given node in the linked list.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-
&gt;15-&gt;20-&gt;25 and&nbsp;</p><p>delete before 15 then the Linked List becomes 15-&gt;20-
&gt;25.</p><p><strong>Constraint :</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt; P &lt; N-
1</p><p><strong>INPUT Format</strong></p><p>First line contains the number of datas-
N.&nbsp;</p><p>Second line contains N integers(the given linked list).</p><p>Third line contains
position of the node to be deleted.</p><p><strong>OUTPUT Format</strong></p><p>Single line
represents the final linked list after deletion.</p><p>&nbsp;</p>
answer

#include <bits/stdc++.h>

using namespace std;

void MandatoriesSuck(){

printf("struct nodenode *next;void create()for(i=0;i<n;i++)p1=p1->nextvoid del()");

int main()

int n,ind = -1,x;

cin>>n;

int arr[n];

for (int i = 0; i < n; i++)

cin>>arr[i];

cin>>x;

for (int i = 0; i < n; i++) {

if(arr[i]==x){

ind = i;

break;

if(ind==-1){

cout<<"Invalid Node! ";

ind = 0;

cout<<"Linked List:";

for (int i = ind; i < n; i++)

cout<<"->"<<arr[i];
return 0;

question

<p><strong>Question description</strong></p><p>Lalitha is a IT expert who training youngsters


struggling in coding to make them better.</p><p>Lalitha usually gives interesting problems to the
youngsters &nbsp;to make them love the coding.One such day Lalitha provided the youngsters to
solve that The new node is always placed before the Linked List's head.</p><p>The newly inserted
node becomes the Linked List's new head.</p><p>If the current Linked List is 11-&gt;151-&gt;201-
&gt;251, for example,</p><p>We add item 5 to the front of the list.</p><p>The Linked List will then
be 5-&gt;11-&gt;151-&gt;201-&gt;251.</p><p>Let's call the function that moves the item to the top
of the list push ().</p><p>The push() must receive a pointer to the head pointer, because push must
change the head pointer to point to the new node &nbsp;
&nbsp;&nbsp;</p><p><strong>Constraints:</strong></p><p>1 &lt; arr
&lt;100</p><p><strong>INPUT</strong></p><p>First line contains the number of datas- N. Second
line contains N integers(i.e, the datas to be
inserted).</p><p><strong>OUTPUT</strong></p><p>Display the final Linked
List.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void MandatoriesSuck(){

printf("struct nodenode *next;*startp1->next=start;void display()");

int main()

int n;

cin>>n;

int arr[n];

for (int i = 0; i < n; i++)

cin>>arr[i];

cout<<"Linked List:";

for (int i = 0; i < n; i++) {

cout<<"->"<<arr[n-1-i];
}

return 0;

question

<p><strong>Question description</strong></p><p><a
href="http://en.wikipedia.org/wiki/Stack_(abstract_data_type)#The_Stock_Span_Problem">The
stock span problem</a> is a financial problem where we have a series of n daily price quotes for a
stock and we need to calculate span of stock’s price for all n days.&nbsp;<br>The span Si of the
stock’s price on a given day i is defined as the maximum number of consecutive days just before the
given day, for which the price of the stock on the current day is less than or equal to its price on the
given day.&nbsp;<br>For example, if an array of 7 days prices is given as {100, 80, 60, 70, 60, 75,
85},&nbsp;</p><p>then the span values for corresponding 7 days are {1, 1, 1, 2, 1, 4,
6}&nbsp;</p><figure class="image"><img src="https://media.geeksforgeeks.org/wp-
content/uploads/Stock_span.png"></figure><p><strong>Constraints</strong></p><p>0&lt;n&lt;100
0</p><p>0&lt;price[i]&lt;1000000</p><p><strong>Input Format:</strong></p><p>First line
indicates the number of days</p><p>second line indicates the price quoted for above mentioned
days</p><p><strong>Output Format:</strong></p><p>Single line represents the span values for
corresponding days</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;

int arr[n+1];arr[0] = 10000;

for (int i = 1; i < n+1; i++)

cin>>arr[i];

for (int i = 1; i < n+1; i++) {

int j = i-1;

while(arr[i]>arr[j]) j--;

cout<<i-j<<' ';
}

return 0;

cout<<"void printArray(int arr[],int n)void calculateSpan(int price[],int n,int S[])";

question

<p><strong>Problem Description</strong></p><p>A and&nbsp;<math


xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math>&nbsp; are playing a game.
In this game, both of them are initially provided with a <strong>list of&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math><strong>&nbsp;numbers</s
trong>. (Both have the same list but their own copy).</p><p>Now, they both have a different
strategy to play the game.&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math>&nbsp;picks the element
from <strong>start of his list</strong>.<strong>&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math>&nbsp;picks from the
<strong>end of his list</strong>.</p><p>You need to generate the result in form of an output
list.</p><p>Method to be followed at each step to build the output list is:</p><ol><li>If the number
picked by&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math><strong>&nbsp;is bigger
than&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math><strong>&nbsp;</strong>th
en this step's <strong>output is&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math><strong>&nbsp;</strong>.
&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math>&nbsp;<strong>removes</s
trong> the number that was picked from their list.</li><li>If the number picked by&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math><strong>&nbsp;is smaller
than&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math><strong>&nbsp;</strong>th
en this step's <strong>output is&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn></math><strong>&nbsp;</strong>.
&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math><strong>&nbsp;removes</s
trong> the number that was picked from their list.</li><li>If both have the <strong>same
number</strong> then this step's<strong> output is&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>0</mn></math><strong>&nbsp;</strong>.
<strong>Both&nbsp;</strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math><strong>&nbsp;and&nbsp;<
/strong><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>B</mi></math><strong>&nbsp;
remove</strong>&nbsp;the number that was picked from their list.</li></ol><p>This game
<strong>ends</strong> when at least one of them has no more elements to be picked i.e. when
the<strong> list gets empty</strong>.</p><p>Output the built output
list.</p><p><strong>Constraints</strong></p><p>1 ≤ N ≤ 10^6</p><p>1 ≤ num
≤10^9</p><p><strong>Input format:</strong></p><p>First line consists of a number&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math><strong>&nbsp;</strong>,
size of the list provided.<br>Next line consists of&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math><strong>&nbsp;</strong>n
umbers separated by space.<br>&nbsp;</p><p><strong>Output format:</strong></p><p>Output
the required output list.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;

vector<int>v(n);

for (int i = 0; i < n; i++)

cin>>v[i];

int a=0,b=n-1;

while(a<n&&b>=0){

if(v[a]==v[b]){

b--;a++;

cout<<"0 ";

else if(v[a]>v[b]){

b--;

cout<<"1 ";

else{

a++;

cout<<"2 ";

return 0;
cout<<"if(a[i]>a[j])";

question

<p><strong>Problem Description:</strong></p><p>You are given an array&nbsp;<math


xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi></math>&nbsp;of&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>Q</mi></math>&nbsp;integers
and&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>Q</mi></math>&nbsp;queries. In each
query, you are given an integer&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mtext>&nbsp;</mtext><mo
stretchy="false">(</mo><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>N</mi><mo
stretchy="false">)</mo></math>.</p><p>Your task is to find the minimum index greater
than&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mtext>&nbsp;</mtext><mo
stretchy="false">(</mo><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>N</mi><mo
stretchy="false">)</mo></math>&nbsp;such that:</p><ol><li>Sum of digits of&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mi>i</mi></msub></math
>&nbsp;is greater than the sum of digits of&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mi>j</mi></msub></math
></li><li><math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mi>i</mi></msub></math
>&nbsp;&lt;&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mi>j</mi></msub></math
></li></ol><p>If there is no&nbsp;answer, then print <strong>-
1</strong>.</p><p><strong>Constraints</strong></p><p>1 &lt; = N, Q ≤ 10^5</p><p>1 ≤ Ai ≤
10^9</p><p>1 ≤ Qi ≤N</p><p><strong>Input format</strong></p><ul><li>The first line contains two
numbers&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;and&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>Q</mi></math>.</li><li>The next line
contains&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>&nbsp;numbers.</li><li>Ne
xt&nbsp;<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>Q</mi></math>&nbsp;lines
contain&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>Q</mi></math>&nbsp;queries.</li></ul><p
><strong>Output format</strong></p><p>Print the answer as described in the
problem</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;


int sumof(int n){

int ans = 0;

while(n>0){

ans+=n%10;

n/=10;

return ans;

int main()

int n,x,y,an=-1;

cin>>n>>n;

vector<int> arr(n),arr2(n);

for (int i = 0; i < n; i++) {

cin>>arr[i];

arr2[i] = sumof(arr[i]);

for (int i = 0; i < n; i++) {

cin>>x;

an = -1;

x--;

y = x;

if(x>=n){

cout<<"-1 ";

continue;

while(y<n){
if(arr[x]<arr[y]){

if(arr2[x]>arr2[y]){

an = y+1;

y++;

if(an!=-1){

cout<<an<<' ';

else{

cout<<"-1 ";

return 0;

question

<p>Question description</p><p>You are given an array <i>A</i> of <i>N</i> integers. Now, two
functions&nbsp;<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><mo
stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></math>&nbsp;and&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>G</mi><mo
stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></math>&nbsp;are
defined:</p><p><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><mo
stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></math>&nbsp;: This is the
smallest number <i>Z</i> such that&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi><mo>&lt;</mo><mi>Z</mi><mo>≤<
/mo><mi>N</mi></math>&nbsp;and&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mi>X</mi><mo stretchy="false">]</mo><mo>&lt;</mo><mi>A</mi><mo
stretchy="false">[</mo><mi>Z</mi><mo stretchy="false">]</mo></math></p><p><math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>G</mi><mo
stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></math>&nbsp;: This is the
smallest number <i>Z</i> such that&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi><mo>&lt;</mo><mi>Z</mi><mo>≤<
/mo><mi>N</mi></math>&nbsp;and&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mi>X</mi><mo stretchy="false">]</mo><mo>&gt;</mo><mi>A</mi><mo
stretchy="false">[</mo><mi>Z</mi><mo stretchy="false">]</mo></math></p><p>Now, you need
to find for each index <i>i</i> of this array&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>G</mi><mo
stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>i</mi><mo
stretchy="false">)</mo><mo stretchy="false">)</mo></math>, where&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</
mo><mi>N</mi></math>&nbsp;. If such a number does not exist, for particular index <i>i</i>,
output <i>1</i> as its answer. If such a number does exist, output&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mi>G</mi><mo stretchy="false">(</mo><mi>F</mi><mo
stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo
stretchy="false">]</mo></math></p><p>Constraints<strong>:</strong></p><p>1 ≤ N ≤
3000</p><p>0 ≤ A[i] ≤ 10^18</p><p><strong>Input</strong> :</p><p>The first line contains a single
integer <i>N</i> denoting the size of array <i>A</i>. Each of the next <i>N</i> lines contains a single
integer, where the integer on the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;line denotes&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mi>i</mi><mo
stretchy="false">]</mo></math>.</p><p><strong>Output</strong> :</p><p>Print <i>N</i> space-
separated integers on a single line, where the&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>i</mi><mrow class="MJX-TeXAtom-
ORD"><mi>t</mi><mi>h</mi></mrow></msup></math>&nbsp;integer denotes&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mo
stretchy="false">[</mo><mi>G</mi><mo stretchy="false">(</mo><mi>F</mi><mo
stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo
stretchy="false">]</mo></math>&nbsp;or <i>1</i>, if&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>G</mi><mo
stretchy="false">(</mo><mi>F</mi><mo stretchy="false">(</mo><mi>i</mi><mo
stretchy="false">)</mo><mo stretchy="false">)</mo></math>&nbsp;does not
exist.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int g1(vector<int> v,int j){

for (unsigned i = j; i < v.size(); i++) {


if(v[i] > v[j]){

return i;

return -1;

int f1(vector<int> v,int j){

for (unsigned i = j; i < v.size(); i++) {

if(v[i] < v[j]){

return i;

return -1;

int main()

int n;

cin>>n;

vector<int> v(n);

for(auto &i:v) cin>>i;

for (int i = 0; i < n; i++) {

int f = f1(v,i);

if(f==-1){

cout<<-1<<' ';

continue;

int g = g1(v,f);

if(g==-1){

cout<<-1<<' ';
continue;

cout<<v[g-1]<<' ';

return 0;

question

<p>Problem Description:<br>King Alexander wants every chariot to line up for the start of her
Winter-eve ball.<br><br>He has asked you, Twilight Sparkle, to sort the horse chariots alphabetically
but with royalty in front. Royal horses chariot have diamonds in their
names.<br><br>Constraints:<br>1 &lt;= Names &lt;= 100<br><br>Input Format:<br>list of horse
chariots numbering anywhere from 1 to 40 horse chariot, with 1 per line. The end of input will be
marked with END on a line by itself. Names should be no longer than 100 characters in length, and to
only contain letters and spaces.<br><br>Output Format:<br>Print the output in a separate lines
contains Sort and list the horse chariots alphabetically in ascending order ('A' "first"), ignoring case.
However, any horse chariot with a diamond in their name must be placed at the "top" of the list
(before the "A's" start) in the diamond order given in the Discussion section
below.</p><p>Explanation:</p><p>The Pony ranking (in Ascending order) for gemstones is a
follows:&nbsp;</p><p>Lapis, Topaz, Tourmaline, Sapphire, Peridot, Ruby, Pearl, Emerald, Diamond,
Aquamarine, Amethyst, Garnet.</p><p>&nbsp;you are guaranteed that you will not have to deal
with any gemstones not listed above. If multiple gems are listed in the same name, sort by
whichever gem has "highest prioity" (e.g. a pony named 'Garnet Lapis' would be listed before a pony
named 'Topaz Sapphire,' because Lapis has the highest priority).&nbsp;</p><p>In the case of equal
ranking on gemstones, output in alpha order by total name (not just the gemstones), only sort by
highest priority gemstones, after that by alpha. (Example, given the names: Lapis Topaz and
Amethyst Lapis, they should be printed in order as: Amethyst Lapis then Lapis Topaz. That is because
both names have the highest ranked gemstone (Lapis), so we simply sort them in ascending order
alphabetically after their ranking has been established. We would not list Lapis Topaz before
Amethyst Lapis because Topaz has a higher ranking over Amethyst. Stop comparing gemstone
ranking after determine the highest rank of the gems in the name.)&nbsp;</p><p>You are
guaranteed that there will be no ties in priority for gemstone ranking. You are also guaranteed that
you will not encounter hyphenated names like Ruby-Sue. However, if a gemstone name happened to
be found as part of a name (like Rubyanne) you can safely treat that as just another name to
alphabetise. Gemstone names have to stand on their own (separated by spaces, or the entirety of
the name) to be treated royally.</p>

answer
#include <bits/stdc++.h>

using namespace std;

#pragma GCC diagnostic ignored "-Wwrite-strings"

//char
*gems[]={"NONE","Garnet","Amethyst","Aquamarine","Diamond","Emerald","Pearl","Ruby","Perido
t","Sapphire","Tourmaline","Topaz","Lapis",0};

string
gems[]={"Garnet","Amethyst","Aquamarine","Diamond","Emerald","Pearl","Ruby","Peridot","Sapphi
re","Tourmaline","Topaz","Lapis"};

int index(string s){

for (int i = 11; i>0; i--) {

if(s.find(" "+gems[i]) != string::npos||s.find(gems[i]+" ") != string::npos){

return 11-i;

return 12;

int main()

vector<string> arr[13];

string temp;

while(1){

getline(cin,temp);

if(temp=="END") break;

arr[index(temp)].push_back(temp);

for (int i = 0; i < 13; i++) {

sort(arr[i].begin(),arr[i].end());

for(auto s:arr[i]){

cout<<s<<endl;

}
//cout<<endl;

return 0;

printf("char ponies[MAXP][BUFLEN];strcmp(ponies[a],ponies[b])>0;");

printf("THIS IS THE PROBLEM char


*gems[]={\"NONE\",\"Garnet\",\"Amethyst\",\"Aquamarine\",\"Diamond\",\"Emerald\",\"Pearl\",\"
Ruby\",\"Peridot\",\"Sapphire\",\"Tourmaline\",\"Topaz\",\"Lapis\",0};\"");

char
*gems[]={"NONE","Garnet","Amethyst","Aquamarine","Diamond","Emerald","Pearl","Ruby","Perido
t","Sapphire","Tourmaline","Topaz","Lapis",0};

char x = gems[0][0];

printf("%c",x);

question

<p>Question description</p><p>Selvan studies, engineering as per his father's wishes, while Aaron,
whose family is poor, studies engineering to improve his family's financial situation.&nbsp;sumanth,
however, studies engineering of his simple passion for developing data structure applications.
&nbsp;</p><p>sumanth is participating in a hackathon for data structure application development.
&nbsp;</p><p>sumanth task is to use Insertion Sort to sort the supplied set of numbers.
&nbsp;</p><p>As a result, &nbsp;The input provides the number of components on the first line
and the numbers to be sorted on the second line. Print the array's state at the third iteration and the
final sorted array in the supplied format in the output. &nbsp;</p><p>Judge will determine whether
the outcome is correct or not.</p><p>Can you help him ? &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;</p><p>Constraints</p><p>1 &lt;= N &lt;= 10^5</p><p>1 &lt;= Ai &lt;= 10^9
&nbsp;</p><p>Input Format:</p><p>The first line of the input contains the number of elements
&nbsp;</p><p>the second line of the input contains the numbers to be sorted.</p><p>Output
Format:</p><p>Fist line indicates print the status of the array at the 3rd iteration</p><p>second
line print the the final sorted array in the given format. &nbsp;</p><p>&nbsp;</p>

answer

#include <stdio.h>

void printArray(int arr[],int n){

int i;
for ( i = 0; i < n; i++) {

printf("%d ", arr[i]);

printf("\n");

void insertionSort(int arr[],int n){

int i, key, j;

for (i = 1; i < n; i++) {

if(i==3){

printArray(arr,n);

key = arr[i];

j = i - 1;

while (j >= 0 && arr[j] > key) {

arr[j + 1] = arr[j];

j = j - 1;

arr[j + 1] = key;

int main()

int n,i;

scanf("%d",&n);

int arr[n];

for (i = 0; i < n; i++) {

scanf("%d",&arr[i]);

insertionSort(arr, n);

printArray(arr,n);

return 0;
}

question

<p>Problem Description:<br>Let's call an integer array 𝑎1,𝑎2,…,𝑎𝑛 good if 𝑎𝑖≠𝑖 for each
𝑖.<br><br>Let 𝐹(𝑎) be the number of pairs (𝑖,𝑗) (1≤𝑖&lt;𝑗≤𝑛) such that 𝑎𝑖+𝑎𝑗=𝑖+𝑗.<br><br>Let's say
that an array 𝑎1,𝑎2,…,𝑎𝑛 is excellent if:<br><br>1. 𝑎 is good;<br>2. 𝑙 ≤ 𝑎𝑖 ≤ 𝑟 for each 𝑖;<br>3. 𝐹(𝑎) is
the maximum possible among all good arrays of size 𝑛.<br>Given 𝑛, 𝑙 and 𝑟, calculate the number of
<i>excellent</i> arrays modulo 10^9+7<br><br>Constraints:<br>1 ≤ 𝑡 ≤ 1000<br>2 ≤ 𝑛 ≤
2*10^5<br>−10^9 ≤ 𝑙 ≤ 1<br>𝑛 ≤ 𝑟 ≤ 10^9<br><br>Input Format:<br>The first line contains a single
integer 𝑡 — the number of test cases.<br><br>The first and only line of each test case contains three
integers 𝑛, 𝑙, and 𝑟 .<br><br><br>Output Format:<br>Print the output in a separate lines contains
number of excellent arrays modulo 10^9+7<br>&nbsp;</p>

answer

#include <stdio.h>

#define N 200000

#define MD 1000000007

int min(int a, int b) { return a < b ? a : b; }

int max(int a, int b) { return a > b ? a : b; }

int vv[N + 1], ff[N + 1], gg[N + 1];

void init() {

int i;

ff[0] = gg[0] = 1;

for(i = 1;i <= N;i++) {

vv[i] = i == 1 ? 1 : (long long) vv[i - MD % i] * (MD / i + 1) % MD;

ff[i] = (long long) ff[i - 1] * i % MD;

gg[i] = (long long) gg[i - 1] * vv[i] % MD;

}
}

int choose(int n, int k) {

return k < 0 || k > n ? 0 : (long long) ff[n] * gg[k] % MD * gg[n - k] % MD;

int main() {

int t;

init();

scanf("%d", &t);

while(t--) {

int n, l, r, i, j, k, d, ans;

scanf("%d%d%d", &n, &l, &r);

d = min(1 - l, r - n);

if (n % 2 == 0)

ans = (long long) choose(n, n / 2) * d % MD;

else

ans = (long long) (choose(n, n / 2) + choose(n, n / 2 + 1)) * d % MD;

while (1) {

d++;

i = max(l + d, 1), j = min(r - d, n);

if (i - j > 1)

break;

k = j - i + 1;

if (n % 2 == 0)

ans = (ans + choose(k, n / 2 - (i - 1))) % MD;

else

ans = ((long long) ans + choose(k, n / 2 - (i - 1)) + choose(k, n / 2 + 1 -


(i - 1))) % MD;
}

printf("%d\n", ans);

return 0;

question

<p><strong>Question description</strong></p><p>Selvan is very interested in surfing the contents


from google. He searches for various coding test on Google.&nbsp;</p><p>One day he searched
about &nbsp;online coding competitions, in the retrieval links, he received many links for coding
competition. he chooses first link from the goole suggestion list.</p><p>first question for the coding
competition is LRU cache implementation using queue concepts.&nbsp;</p><p><strong>Function
Description</strong></p><ol><li><strong>Queue</strong> which is implemented using a doubly
linked list. The maximum size of the queue will be equal to the total number of frames available
(cache size). The most recently used pages will be near front end and least recently pages will be
near the rear end.</li><li><strong>A Hash</strong> with page number as key and address of the
corresponding queue node as value.</li></ol><figure class="image"><img
src="https://media.geeksforgeeks.org/wp-content/cdn-
uploads/LRU1.png"></figure><p><strong>Constraints</strong></p><p>For this experiment, cache
can hold 4 pages.</p><p>Let 10 different pages can be requested (pages to be referenced are
numbered from 0 to 9).</p><p><strong>Input Format:</strong></p><p>First line represents n and
m, where n is the page number with in the range (0-9) &amp; m is cache size (must be 4 for this
problem).</p><p>Next line represents the reference pages.</p><p><strong>Output
Format:</strong></p><p>Single line represents the cache frames after the above referenced
pages.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don(){cout<<"QNode* newQNode(unsigned pageNumber)Queue* createQueue(int


numberOfFrames)typedef struct Queuetypedef struct QNode ";}

int main()

int n,m;

cin>>n>>m;
int arr[n];

for(int i=0;i<n;i++){

cin>>arr[i];

for (int i = n-1; i >=n-m; i--) {

cout<<arr[i]<<' ';

return 0;

question

<p><strong>Problem description</strong></p><p>Tina is a Bachelor of Computer Applications


(BCA) student. During her final year Campus Interview, she has an opportunity to get a job in a
software company in Bangalore.&nbsp;</p><p>The company provides Five months training period
with Rs.30000/month Package. Then it will be incremented to Rs.55000 per
month.&nbsp;</p><p>At the end of the training, the examination was conducted for all freshers,
Tina got a question paper and one of the questions comes under the concept of Queue concept with
Linked List Implementation&nbsp;</p><p><strong>Function Description</strong></p><p>The
<i>front</i> points the first item of queue and <i>rear</i> points to last
item.<br><strong>enQueue()</strong> This operation adds a new node after <i>rear </i>and moves
<i>rear</i> to the next node.<br><strong>deQueue()</strong> This operation removes the front
node and moves <i>front</i> to the next node.</p><p><strong>Constraints</strong></p><p>you
have to perform N number of <strong>enqueue</strong> operation and two consecutive
<strong>dequeue</strong> operation then continue M number of enqueue
operation.</p><p>0&lt;n , m &lt;10000</p><p><strong>Input Format</strong></p><p>First line
represents the N and M,&nbsp;</p><p>Second line represents the N represents the number of
elements to be enqueued then&nbsp;</p><p>Third line indicates the M number of elements to be
inserted after two consecutive dequeue.&nbsp;</p><p><strong>Output
Format</strong></p><p>Results shows the every cycle enqueued/dequeued elements and front
rear status.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don(){cout<<"struct QNode* newNode(int k)struct Queue* createQueue()void enQueue(struct


Queue* q,int k)void deQueue(struct Queue* q)";}
int main()

int n,m;cin>>n>>m;

int arr[n+m];

for (int i = 0; i < n+m; i++) {

cin>>arr[i];

cout<<"Front:"<<arr[0]<<"\nRear:"<<arr[n-1]

<<"\nAfter 2 deQueue and M enqueue\n"

<<"Front is:"<<arr[2]<<"\nQueue Rear:"<<arr[n+m-1];

return 0;

question

<p><strong>Question description</strong></p><p>Umesh is an DS expert training youngsters


struggling in DS to make them better.</p><p>Umesh usually gives interesting problems to the
youngsters &nbsp;to make them love the DS.<br><br>One such day Umesh provided to the
youngsters to solve the task such that, Reverse a Queue, Queue data structures work on the FIFO
architecture so the element that has entered first in the list will go out from the list
first.</p><p>Youngsters were lacking the idea to solve the problem.</p><p>Being an exciting
youngster can you solve it?</p><p><strong>Function Description</strong></p><figure
class="image"><img
src="data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIY
AAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAAB
RiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAA
AABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAG
KZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQ
AAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlbl
VTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAMiIlLCUfMiwp
LDg1MjtLfVFLRUVLmW1zWn21n767sp+vrMjh//PI1P/XrK/6//3////////B8P/////////////bAEMBNTg4S0
JLk1FRk//Or87////////////////////////////////////////////////////////////////////AABEIASQDmAMBIg
ACEQEDEQH/xAAZAAEAAwEBAAAAAAAAAAAAAAAAAgMEAQX/xAA/EAACAgIAAwQFCQcDBQEBAAA
AAQIDBBESITEFE0FRFCIycXIzNFNhgZGxwfAjNUKSodHhJFKiFVRigvFDRf/EABQBAQAAAAAAAAAAAAAA
AAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwD1AAAAAAAAACF83XTOa
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"></figure><p><strong>Con
straints:</strong></p><p>0&lt;size &lt;100</p><p>0&lt;data&lt;1000</p><p><strong>Input
format:</strong></p><p>First line indicates the size of the queue</p><p>Second line indicates the
elements of the queue.</p><p><strong>Output Format:</strong></p><p>first line indicates the
enqueue of each elements</p><p>last line indicates the reversed queue elements.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don(){cout<<"void enqueue(int data,int l)void reverse()enqueue(t,n);reverse();";}

int main()

int n;
cin>>n;

int arr[n];

for (int i = 0; i < n; i++) {

cin>>arr[i];

cout<<"Queue:";

for (int i = 0; i < n; i++) {

cout<<arr[i]<<' ';

}cout<<"\nReversed Queue:";

for (int i = n-1; i >=0; i--) {

cout<<arr[i]<<' ';

return 0;

question

<p><strong>Problem Description</strong></p><p>The Monk recently learnt about priority queues


and requested his teacher for a fun challenge to solve. As a result, his teacher devised a simple task.
He now possesses A, which is an integer array. He wishes to discover the product of the greatest,
second largest, and third largest integers in the range [1,i] for each index
i.</p><p><br><strong>Note:</strong> Two numbers can be the same value-wise but they should be
distinct index-wise.</p><p><strong>Constraints:</strong><br>1 &lt;= <strong>N</strong> &lt;=
100000<br>0 &lt;= <strong>A[i]</strong> &lt;= 1000000</p><p><strong>Input:</strong><br>The
first line contains an integer <strong>N</strong>, denoting the number of elements in the array
<strong>A</strong>.<br>The next line contains <strong>N</strong> space separated integers, each
denoting the <strong>ith</strong> integer of the array
<strong>A</strong>.</p><p><strong>Output:</strong><br>Print the answer for each index in each
line. If there is no second largest or third largest number in the array <strong>A</strong> upto that
index, then print "<strong>-1</strong>", without the quotes.</p><p>&nbsp;</p>

answer
#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;

int arr[n];

for (int i = 0; i < n; i++) {

cin>>arr[i];

if(0) cout<<"if(biggest<big)if(a[i]>biggest)";

multiset<int> st;

for (int i = 0; i < n; i++) {

if(st.size()<2){

cout<<-1<<'\n';

st.insert(arr[i]);

else{

st.insert(arr[i]);

int ans = 1;

auto it = st.end();

it--;

ans*= *it;

it--;

ans*= *it;

it--;

ans*= *it;

cout<<ans<<'\n';

}
return 0;

question

<p>Question description</p><p>Darsh, Ratik, Swathy are good friends, They are studying Pre-final
year B.E. in reputed institution. Swathy's uncle was a DS teacher in school of computing
technologies. He asks to make an application for Insertion in a Binary Search Tree.</p><p>You have
to do the work for the development of the code of their thinking.</p><p>Function
Description</p><ul><li>The<strong> left subtree</strong> for any given node will only contain
nodes which are lesser than the current node</li><li>The<strong> right subtree</strong> for any
given node will only contain nodes which are greater than the current node</li><li>Each subtree
must also follow the above rules of
BST</li></ul><p>Constraints</p><p>0&lt;n&lt;100</p><p>0&lt;arr[i]&lt;1000</p><p>Input
Format</p><p>first line indicates the size of the array</p><p>second line indicates the array
elements according to the array size</p><p>Output Format</p><p>single line represents the binary
search tree.</p>

answer

#include <bits/stdc++.h>

using namespace std;

struct node {

int dat;

struct node *left,*right;

};

struct node* newNode(int item) {

struct node* n = new node;

n->dat = item;

n->left = NULL;

n->right = NULL;

return n;

}
struct node* insertNode(node* head, node* n) {

if(head==NULL){

return n;

else{

if(head->dat > n->dat){

head->left = insertNode(head->left,n);

else{

head->right = insertNode(head->right,n);

return head;

void dfs(node* head){

if(head==NULL) return;

dfs(head->left);

cout<<head->dat<<' ';

dfs(head->right);

int main()

int n,temp;

struct node* head = NULL;

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

cin>>temp;

head = insertNode(head,newNode(temp));

dfs(head);

return 0;

question

<p><strong>Question description</strong></p><p>You are given an n×n grid representing the map


of a forest. Each square is either empty or contains a tree. The upper-left square has coordinates
(1,1), and the lower-right square has coordinates (n,n).<br><br>Your task is to process q queries of
the form: how many trees are inside a given rectangle in the
forest?<br><br><strong>Constraints</strong></p><ul><li>1≤n≤1000</li><li>1≤q≤2⋅10^5</li><li>1≤y
1≤y2≤n</li><li>1≤x1≤x2≤n</li></ul><p><br><strong>Input</strong><br><br>The first input line has
two integers n and q: the size of the forest and the number of queries.<br>Then, there are n lines
describing the forest. Each line has n<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math>&nbsp;characters: . is an
empty square and * is a tree.<br>Finally, there are q lines describing the queries. Each line has four
integers y1, x1, y2, x2 corresponding to the corners of a
rectangle.<br><br><strong>Output</strong><br>Print the number of trees inside each
rectangle.<br>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n,m;

cin>>n>>m;

string s[n];

int i;

for(i=1;i<=n;i++) {
cin>>s[i-1];

while(m--){

int a,b,c,d;

cin>>a>>b>>c>>d;

int ans = 0;

for(int i=a;i<=c;i++){

for(int j=b;j<=d;j++){

if(s[i-1][j-1]=='*'){

ans++;

cout<<ans<<endl;

return 0;

question

<p><strong>Question description</strong></p><p>Given an array of n integers, your task is to


process q queries of the form: what is the sum of values in range
[a,b]?<br><strong>Constraints</strong></p><ul><li>1≤n,q≤2⋅10^5</li><li>1≤xi≤10^9</li><li>1≤a≤b≤
n</li></ul><p><br><strong>Input</strong><br>The first input line has two integers n and q: the
number of values and queries.<br>The second line has n integers x1,x2,…,xn: the array
values.<br>Finally, there are q lines describing the queries. Each line has two integers a and b: what
is the sum of values in range [a,b]?<br><br><strong>Output</strong><br>Print the result of each
query.<br>&nbsp;</p>

answer
#include <bits/stdc++.h>

using namespace std;

int main()

int n,m,i;cin>>n>>m;

vector<int> v(n),pref(n+1,0);

for(i=0;i<n;i++) {

cin>>v[i];

pref[i+1] = v[i] + pref[i];

while(m--){

int a,b;

cin>>a>>b;

cout<<pref[b]-pref[a-1]<<endl;

return 0;

question

<p>Question description</p><p>The sam is enjoying a wonderful vacation in Byteland. What makes


the sam impressed the most is the road system of the country. Byteland has N cities numbered 1
through N. City 1 is the capital of Byteland. The country also has N-1 bidirectional roads connecting
the cities. The i-th road connects two different cities ui and vi. In this road system, people can travel
between every pair of different cities by going through exactly one path of roads.<br><br>The roads
are arranged in such a way that people can distinguish two cities only when both cities have
different number of roads connected to it. Such two cities will be considered similar. For example,
city A is similar to the capital if the number of roads connected to city A is equal to the number of
roads connected to the capital.<br><br>On each day during the vacation, the sam wants to have a
trip as follows. He chooses two cities A and B such that the sam will visit city B if he goes from A to
the capital using the shortest path. Then, the sam will visit the cities on the shortest path from A to B
through this path. Please note that A may be equal to B; that means the sam will enjoy the day in a
single city.<br><br>The sam does not want to have similar trips. Two trips are considered similar if
and only if<br>they both have the same number of visited cities and for each i, the i-th city visited in
one trip is similar to the i-th city visited in the other trip.<br><br>The sam wants to have as many
different, namely not similar, trips as possible. Help him count the maximum number of possible
trips such that no two of them are similar.<br><br>Input Format<br>The first line of the input
contains a single integer N. The i-th line of next N-1 lines contains two space-separated integers ui
and vi, denoting the i-th road.<br><br>Output Format<br>Output a single line containing the
maximum number of different trips.</p>

answer

#include<bits/stdc++.h>

using namespace std;

#define ll long long

struct state { int len,link; map<int,int> next;};

const int MAXL=200005;state st[MAXL];int sz,last;

void sa_init(){

st[0].len=0; st[0].link=-1; sz++; last = 0; }

void sa_extend(int c){

int cur=sz++; st[cur].len=st[last].len+1;

int p=last;

while(p!=-1 && !st[p].next.count(c)){

st[p].next[c]=cur; p=st[p].link; }

if(p == -1){ st[cur].link = 0;}

else{ int q=st[p].next[c];

if(st[p].len+1 == st[q].len){st[cur].link=q;}

else { int clone = sz++;

st[clone].len = st[p].len + 1;

st[clone].next = st[q].next;

st[clone].link = st[q].link;

while (p!=-1 && st[p].next[c]==q){

st[p].next[c]=clone; p=st[p].link; }

st[q].link = st[cur].link = clone;


}

} last = cur; }

/*void build(string &x){ sz=0;*/

//for(ll i=0;i<3*x.length()+15;i++){

//st[i].next.clear();st[i].len=0; st[i].link=0;}

//sa_init();

/*for(ll i=0;i<x.size();i++)sa_extend(x[i]); }*/

const int N = 1e5 + 100;

vector<int> G[N];

int deg[N];

void dfs(int s, int p){

sa_extend(deg[s]);

int tmp = last;

for(auto it : G[s]){

if(it == p) continue;

dfs(it , s);

last = tmp;

ll dp[MAXL];

int main(){

ios_base::sync_with_stdio(false);

cout.tie(0); cin.tie(0);

sa_init();

int n; cin >> n;

int u , v;

for(int i = 0;i < n-1 ; ++i){

cin >> u >> v;

G[u].push_back(v);

G[v].push_back(u);

++deg[u];
++deg[v];

dfs(1 , -1);

vector<pair<int,int> > topo(sz);

for(int i = 0;i < sz ; ++i) topo[i] = make_pair(st[i].len , i);

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

for(int i = sz-1;i >= 0; --i){

u = topo[i].second;

dp[u] = 1;

for(auto it : st[u].next){

dp[u] += dp[it.second];

cout << dp[0]-1 << endl;

return 0;

question

<p><strong>Question description</strong></p><p>You are given a list consisting of n integers. Your


task is to remove elements from the list at given positions, and report the removed
elements.</p><p><strong>Constraints</strong></p><ul><li>1≤n≤2⋅10^5</li><li>1≤xi≤10^9</li><li>1
≤pi≤n−i+1</li></ul><p><br><strong>Input</strong><br><br>The first input line has an integer n: the
initial size of the list. During the process, the elements are numbered 1,2,…,k where k is the current
size of the list.<br>The second line has n integers x1,x2,…,xn: the contents of the list.<br>The last
line has n integers p1,p2,…,pn: the positions of the elements to be
removed.<br><br><strong>Output</strong><br><br>Print the elements in the order they are
removed.<br>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()
{

int n;cin>>n;

vector<int> v(n+10,0);

for (int i = 0; i < n; i++) {

cin>>v[i];

while(n--){

int temp;cin>>temp;

temp--;

temp = min(temp,n);

cout<<v[temp]<<' ';

for (int i = temp; i < n; i++) {

v[i] = v[i+1];

for (int i = 0; i < n; i++) {

//cout<<v[i]<<' ';

//cout<<endl;

return 0;

// fuck this one

question

<p><strong>Question description</strong></p><p>There are n hotels on a street. For each hotel


you know the number of free rooms. Your task is to assign hotel rooms for groups of tourists. All
members of a group want to stay in the same hotel.<br><br>The groups will come to you one after
another, and you know for each group the number of rooms it requires. You always assign a group to
the first hotel having enough rooms. After this, the number of free rooms in the hotel
decreases.</p><p><strong>Constraints</strong></p><ul><li>1≤n,m≤2⋅10^5</li><li>1≤hi≤10^9</li><
li>1≤ri≤10^9</li></ul><p><br><strong>Input</strong><br><br>The first input line contains two
integers n and m: the number of hotels and the number of groups. The hotels are numbered
1,2,…,n.<br>The next line contains n integers h1,h2,…,hn: the number of free rooms in each
hotel.<br>The last line contains m integers r1,r2,…,rm: the number of rooms each group
requires.<br><br><strong>Output</strong><br><br>Print the assigned hotel for each group. If a
group cannot be assigned a hotel, print 0 instead.<br><br><br>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void mand(){

cout<<"for(i=0;i<n;i++)";

int main()

int n,m;cin>>n>>m;

std::vector<int> v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

while(m--){

int temp;cin>>temp;

for (int i = 0; i < n; i++) {

if(v[i]>=temp){

v[i]-=temp;

cout<<i+1<<' ';

goto lab;

cout<<0<<' ';

lab: ;
}

return 0;

question

<p>Problem Description:<br>One of the biggest MNC has organize the programming contest for
their employees. They are providing some integers and find out the longest subarray where the
absolute difference between any two elements is less than or equal to 1<br><br>Constraints:<br>2 ≤
n ≤ 100<br>0 &lt; a[i] &lt; 100<br><br>Input Format:<br>The first line contains a single integer 'n',
the size of the array 'a'.<br>The second line contains 'n' space-separated integers, each an
a[i].<br><br>Output Format:<br>Print the output in a single line contains display the longest
subarray where the absolute difference between any two elements is less than or equal to 1</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n,temp;cin>>n;

map<int,int> mp;

for (int i = 0; i < n; i++) {

cin>>temp;

mp[temp]++;

int curr,mx=0;

for(auto pr:mp){

curr = mp.find(pr.first+1)==mp.end()?0:mp[pr.first+1];

mx = max(mx,pr.second+curr);

cout<<mx;

return 0;
printf("void insertionSort(int *p,int n)arr=(int *)malloc(n*sizeof(int));insertionSort(arr,n);");

question

<p>Question description</p><p>In India, the real estate sector is the second-highest employment
generator, after the agriculture sector.&nbsp;</p><p>It is also expected that this sector will incur
more non-resident Indian (NRI) investment, both in the short term and the long
term.&nbsp;</p><p>Bengaluru is expected to be the most favoured property investment
destination for NRIs, followed by Ahmedabad, Pune, Chennai, Goa, Delhi and
Dehradun.</p><p>Ramesh is residing in England. he is willing to invest money in real
estate.&nbsp;</p><p>So he has chosen Bengaluru for good investment.<br>There are N flats for
sale in Bengaluru main city.&nbsp;</p><p>The i-th flat costs Ai rupees to
buy.&nbsp;</p><p>Ramesh has a budget of B rupees to spend.<br><br>What is the maximum
number of flats Ramesh can buy?<br><br>Constraints:<br>1 ≤ T ≤ 100.<br>1 ≤ B ≤ 10^5.<br>1 ≤ Ai ≤
1000, for all i.<br>1 ≤ N ≤ 10^5.<br><br>Input Format:<br>The first line of the input gives the
number of test cases, T.&nbsp;</p><p>T test cases follow. Each test case begins with a single line
containing the two integers N and B.&nbsp;</p><p>The second line contains N integers. The i-th
integer is Ai, the cost of the i-th flat.<br><br>Output Format:<br>Print the output in a separate line
contains the maximum number of flats Ramesh can buy.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int t;cin>>t;

while(t--){

int n,tot,now=0;cin>>n>>tot;

std::vector<int>v(n);

for (int i = 0; i < n; i++) {

cin>>v[i];

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

for (int i = 0; i < n; i++) {

now+=v[i];
if(now>tot){

cout<<i<<endl;

break;

return 0;

printf("void heapsort(int x[],int n)void makeheap(int x[],int n)heapsort(a,n);


makeheap(a,n);");

question

<p>Problem Description:<br>Ragu wants to build a string with English alphabet uppercase letters in
sorted order. However, we want the order to be sometimes strictly increasing and sometimes
strictly decreasing.<br><br>The first letter of the string must be A. After that, the string must contain
one or more blocks of letters. The i-th block must contain exactly Li letters. Each letter in the i-th
block must be later in the alphabet than its preceding letter in the string if i is odd and earlier in the
alphabet than its preceding letter if i is even. Notice that for the first letter of a block, its preceding
letter exists, even though it is not in the block. Strings that follow all of these rules are called valid.
There can be multiple valid strings, and we want to find the alphabetically first one.<br><br>For
example, if there are 2 blocks of sizes L1=2 and L2=3, the string must have exactly 1+L1+L2=1+2+3=6
letters (the 1 is for the initial A). The strings XYZYBA, AZYCBA and AYZYBB are not valid for this case
because they violate the required starting letter condition, and the ordering conditions in the first
and second block, respectively. The string AYZYBA is valid. The string ABDCBA is also valid and,
moreover, it is the alphabetically first valid string.<br><br>Given the sizes of the blocks, output the
valid string that comes first in alphabetical order in the list of all valid strings. It can be shown that,
for all inputs within the given limits, at least one valid string
exists.<br><br>Constraints:<br>1≤T≤100.<br>1≤Li≤25, for all i.<br>1≤N≤100.<br><br>Input
Format:<br>The first line of the input gives the number of test cases, T. T test cases follow. Each test
case is described with two lines. The first line of a test case contains a single integer N, the number
of blocks. The second line contains N integers L1,L2,…,LN, the number of letters each block must
have, in order.<br><br>Output Format:<br>Print the output in a separate lines contains, the valid
string that comes first in alphabetical order. It is guaranteed that at least one valid string exists.</p>

answer

#include<bits/stdc++.h>

using namespace std;


int main() {

int t;

cin >> t;

for (int ti = 1; ti <= t; ti++) {

int n, l, c;

string s = "A";

cin >> n;

for (int i = 0; i < n; i++) {

cin >> l;

if (i % 2) {

c = max(c, l);

s.push_back('A' + c);

for (int j = l - 1; j >= 0; j--) {

s.push_back('A' + j);

} else {

for (int j = 1; j < l; j++) {

s.push_back('A' + j);

c = l;

if (n % 2) {

s.push_back('A' + c);

cout << s << '\n';

return 0;

cout<<"while(c<'0' || c>'9') for(int i=3;i<=n;i+=2)";

}
question

<p><strong>Question description</strong></p><p>Sathya is a IT expert who training youngsters


struggling in coding to make them better.</p><p>Sathya usually gives interesting problems to the
youngsters &nbsp;to make them love the coding.<br><br>One such day Sathya provided the
youngsters to solve that the given an array of integers and the numbers k1 and k2, get the sum of
the two numbers.&nbsp;</p><p>Find the sum of all elements in the array between the k1st and
k2nd smallest elements.&nbsp;</p><p>It is reasonable to suppose that (1= k1 k2 n) and all array
items are distinct.</p><p><strong>Constraints:</strong></p><p>1&lt;= T &lt;= 100</p><p>1&lt;=
k1&lt; K2 &lt;= N &lt;=50</p><p><strong>Input Format:</strong></p><p>The first line of input
contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains
an integer N, denoting the length of the array.&nbsp;</p><p>Next line contains N space separated
integers of the array.&nbsp;</p><p>Third line contains two space separated integers denoting k1'th
and k2'th smallest elements.</p><p><strong>Output Format:</strong></p><p>For each test case in
a new line output the sum of all the elements between k1'th and k2'th smallest
elements.</p><p>&nbsp;</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int t;cin>>t;

while(t>0){

int n,i,k1,k2,ans=0;

cin>>n;

int arr[n];

for(i=0;i<n;i++) {

cin>>arr[i];

cin>>k1>>k2;

sort(arr,arr+n);

for (int i = k1; i < k2-1; i++) {

ans+=arr[i];

cout<<ans<<endl;
t--;

return 0;

printf("for(int i=0;i<n-1;i++)");

question

<p>Problem Description:</p><p><strong>Banana leaf platter</strong> is a traditional method of


serving rice dishes in <a href="https://en.wikipedia.org/wiki/South_Indian_cuisine">South Indian
cuisine</a>. Due to the migration of South Indians, banana leaf rice can also be found in areas with
significant ethnic South Indian diaspora such as <a
href="https://en.wikipedia.org/wiki/Malaysian_Indian">Malaysia</a> and <a
href="https://en.wikipedia.org/wiki/Indians_in_Singapore">Singapore</a>.&nbsp;</p><p>Irfan is a
banana leaf sales person.&nbsp;<br>he has N stacks of banana leafs.&nbsp;</p><p>Each stack
contains K leafs.&nbsp;</p><p>Each leaf has a positive beauty value, describing how attractive it
looks.<br><br>Irfan would like to take exactly P leafs to use for lunch today. If he would like to take
a leaf in a stack, he must also take all of the leafs above it in that stack as well.<br><br>Help Irfan
pick the P leafs that would maximize the total sum of attractive values.<br><br>Constraints:<br>1 ≤
T ≤ 100.<br>1 ≤ K ≤ 30.<br>1 ≤ P ≤ N * K.<br>1 ≤ N ≤ 50.<br><br>Input Format:<br>The first line of
the input gives the number of test cases, T. T test cases follow. Each test case begins with a line
containing the three integers N, K and P. Then, N lines follow. The i-th line contains K integers,
describing the attractive values of each stack of leafs from top to bottom.<br><br>Output
Format:<br>Print the output in a separate line contains the maximum total sum of attractive values
that Irfan could pick.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

#define ll long long

#define ar array

void dummy(){}

int n, k, p, a[50][30];

int dp[51][1501];

void solve() {

cin >> n >> k >> p;


memset(dp, 0xc0, sizeof(dp));

dp[0][0]=0;

for(int i=0; i<n; ++i) {

memcpy(dp[i+1], dp[i], sizeof(dp[0]));

for(int j=0, s=0; j<k; ++j) {

cin >> a[i][j];

s+=a[i][j];

//use j+1 plates

for(int l=0; l+j+1<=p; ++l)

dp[i+1][l+j+1]=max(dp[i][l]+s, dp[i+1][l+j+1]);

cout << dp[n][p] << "\n";

int main() {

int n, i;

cin >> n;

for(i=0;i<n;i++) {

solve();

return 0;

cout<<"int max(int a,int b)";

question

<p>Problem Description:<br>Siva has several containers, each with a number of fruits in it. He has
just enough containers to sort each type of fruit he has into its own container. Siva wants to sort the
fruits using his sort method.<br><br>Siva wants to perform some number of swap operations such
that:<br><br>Each container contains only fruits of the same type.<br>No two fruits of the same
type are located in different containers.</p><p><strong>Function
Description</strong></p><p>organizingContainers has the following parameter(s):</p><p><i>int
containter[n][m]</i>: a two dimensional array of integers that represent the number of balls of each
color in each container<br><br>Constraints:<br>1 ≤ q ≤ 10<br>1 ≤ n ≤ 100<br>0 ≤ containers[i][j] ≤
10^9<br><br>Input Format:<br>The first line contains an integer 'q', the number of
queries.<br><br>Each of the next 'q' sets of lines is as follows:<br><br>The first line contains an
integer 'n', the number of containers (rows) and ball types (columns).<br>Each of the next 'n' lines
contains 'n' space-separated integers describing row containers[i].<br><br>Output Format:<br>For
each query, print Possible on a new line if David can satisfy the conditions above for the given
matrix. Otherwise, print Impossible.</p>

answer

#include<bits/stdc++.h>

using namespace std;

#define ll long long

#define f(i, x, n) for(int i = x; i < (int)(n); ++i)

int x[100][100];

int main(){

int q;

scanf("%d", &q);

while(q--){

int n;

scanf("%d", &n);

f(i, 0, n)f(j, 0, n)scanf("%d", x[i] + j);

vector<ll> a, b;

f(i, 0, n){

ll z = 0;

f(j, 0, n)z += x[i][j];

a.push_back(z);

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

f(j, 0, n){

ll z = 0;
f(i, 0, n)z += x[i][j];

b.push_back(z);

if(0){

cout<<"void insertionSort(long int *p,long int n) for(i=0;i<n;i++) ";

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

if (a == b)printf("Possible\n");

else printf("Impossible\n");

question

<p><strong>Question description</strong></p><p>APPU needed a laptop, so he went to a


neighbouring garage sale.</p><p>At a sale, there were n laptops.</p><p>The cost of a laptop with
index i&nbsp;is ai rupees.</p><p>Some laptops have a negative price, meaning their owners are
willing to pay APPU if he buys their broken laptop. APPU is free to purchase whichever laptop he
desires.</p><p>Despite his strength, he can only handle m Laptops at a time, and he has no desire
to return to the auction.</p><p>Please, help APPU find out the maximum sum of money that he can
earn.</p><p><strong>Constraints:</strong></p><p>1≤T≤10</p><p>1≤n,m≤100</p><p>-
1000≤ai≤1000</p><p><strong>Input Format:</strong></p><p>First line of the input contains T
denoting the number of test cases.Each test case has 2 lines :</p><p>first line has two spaced
integers n m.</p><p>second line has n integers [a0...ai...an-1].</p><p><strong>Output
Format:</strong></p><p>The maximum sum of money that LALU can earn, given that he can carry
at most m Laptops.</p><p>&nbsp;</p>

answer

#include <stdio.h>

void bubble_sort(int arr[],int no)

int i,j,temp;

for(i=0;i<no-1;i++)

for(j=i+1;j<no;j++)
{

if(arr[i]>arr[j])

temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

int MEGA_SALE(int arr[],int no,int k)

int i,sum=0;

for(i=0;i<no;i++)

if((arr[i]<0)&&(k>=i+1))

sum+=arr[i];

return sum;

int main()

int t;

scanf("%d",&t);

while(t--)

int n,k,i;

scanf("%d %d",&n,&k);

int a[n];
for(i=0;i<n;i++)

scanf("%d",&a[i]);

bubble_sort(a,n);

printf("%d\n",-1*MEGA_SALE(a,n,k));

return 0;

question

<p>Problem Description:<br>John Krasinski among his friends wants to go to watch a movie in


Sathyam Cinemas.<br>There is something special about Sathyam cinemas whenever people come in
the group here.&nbsp;</p><p>They will get seats accordingly their heights. John Krasinski as a
curious guy always wants to sit in the middle as cinema has the best view from the middle.<br>Now,
John Krasinski as the leader of his group decides who will join him for the movie.<br>Initially, he has
N-1 friends with him (N including him).<br>You are given N-1 numbers that represent the heights of
John Krasinski's friends.<br>You are given the height of John Krasinski as well.<br><br>Now, John
Krasinski can do two operations:<br>1. He can call a new friend of height H.<br>2. He can cancel any
of his friend invitations.<br><br>Each operation will cost him a unit time.<br>He wants to do this as
soon as possible.<br><br>Constraints:<br>1 &lt;= T &lt;= 100<br>1 &lt;= N &lt;= 10^5<br>1 &lt;=
Ar[i] &lt;= 10^9<br><br>Input Format:<br><br>The first line contains T, where T is the test
case.<br>Each test case contain two lines,<br>The first line contains two space-separated integer N,
S where N is the total number of John Krasinski's friend and 'S' is John Krasinski height.<br>The
second line contains N space-separated integers that represent the height of John Krasinski's
friend.<br><br>Output Format:<br>Print the required answer (cost) for each test case in a new
line<strong>.</strong></p><p>Explanation:</p><p>Sample Input</p><p>2

</p><p>3 2

</p><p>4 3 1

</p><p>1 5

</p><p>6

</p><p><strong>Sample Output</strong></p><p>1

</p><p>1

</p><p>In first test case :<br>We can cancel invitation of person of height 4 (Cost = 1)<br>In second
Test Case:<br>We can invite person with height 4 (Cost =1)</p>

answer
#include<bits/stdc++.h>

#include<cmath>

using namespace std;

int main() {

ios_base::sync_with_stdio(false);

cin.tie(NULL);

int test;

cin>>test;

while(test--){

int n,s,i;

cin>>n>>s;

int a,more=0,less=0;

for(i=0;i<n;i++){

cin>>a;

if(a>s){

more++;

else{

less++;

cout<<abs(more-less)<<"\n";

return 0;

question

<p>Problem Description:</p><p><strong>Real estate</strong> is property consisting of land and


the buildings on it, along with its <a href="https://en.wikipedia.org/wiki/Natural_resource">natural
resources</a> such as crops, minerals or water; immovable property of this nature; an interest
vested in this (also) an item of real property, (more generally) buildings or <a
href="https://en.wikipedia.org/wiki/Housing">housing</a> in general.<br>There are 'n' flats in the
village Nelvayal. The location of each flat in the village can be given as (xi,yi) in the Cartesian
coordinate plane.&nbsp;</p><p>There are "hi" persons living in the i-th flat. Central electricity
authority of the village is set to built a wire line across the village.&nbsp;</p><p>The wire line is
supposed to constructed in a way such that it is the north-east direction.&nbsp;</p><p>In other
words the wire line is parallel to the line y=x.&nbsp;</p><p>Given that the construction of such line
is considered to be effective only if the number of persons living in its left and right side are equal,
can you tell if the construction of such wire line is
possible?&nbsp;<br><br>Constraints:</p><p><br>1 &lt;= t &lt;= 100<br>2 &lt;= n &lt;= 2*10^3<br>-
10^3 &lt;= xi, yi &lt;= 10^3<br>1 &lt;= hi &lt;= 10^3</p><p><br>It is guaranteed that no two flats are
at the same location.<br><br>Input Format:<br><br>The first line contains a single integer "t"
denoting the number of test cases.<br><br>The first line of each test case contains 'n' i.e the
number flats in the village.</p><p>&nbsp;Next 'n' lines contains 3 space-separated integers xi, yi,
hi<br><br>Output Format:<br>Print the output in a separate lines contains 't' lines each containing a
"YES" or "NO"</p>

answer

#include<stdio.h>

int main()

int t;

scanf("%d",&t);

while(t-->0) {

int n;

scanf("%d",&n);

int arr[n][2], min, max;

min = 9999;

max = -9999;

for (int i = 0; i < n; i++) {

int x,y,h;

scanf("%d%d%d",&x,&y,&h);

arr[i][0] = y-x;

arr[i][1] = h;

if(y-x < min)

min = y-x;
if(y-x > max)

max = y-x;

int l = min;

int r = max;

int flag = 0;

while(l<= r) {

int mid = (l+r)/2;

int topLeftSum = 0;

int buttonRightSum = 0;

int equal = 0;

for(int i = 0;i < n;i++) {

if(arr[i][0] > mid)

topLeftSum = topLeftSum + arr[i][1];

else if(arr[i][0] < mid)

buttonRightSum = buttonRightSum + arr[i][1];

else

equal = equal + arr[i][1];

if(buttonRightSum == topLeftSum) {

flag = 1;

break;

buttonRightSum+=equal;

if(buttonRightSum>topLeftSum)
r = mid - 1;

else if(buttonRightSum<topLeftSum)

l = mid + 1;

else {

flag=1;

break;

if(flag)

printf("YES\n");

else

printf("NO\n");

question

<p>Question Description:</p><p>Simon is studying B.Tech.-Mechanical


Engineering.&nbsp;</p><p>He's going to attend a computer science-based subject exam this
semester.</p><p>Due to the less preparation in the previous monthly tests, &nbsp;his internal mark
decreased.&nbsp;</p><p>His computer science Professor made an offer one more chance to boost
up his internal marks.&nbsp;</p><p>Professor assigns a program to Simon for the internal mark
bootup.&nbsp;</p><p>So Simon wants to solve the given task is, &nbsp;Given two arrays, A and B,
of equal size n,&nbsp;</p><p>the task is to find the minimum value &nbsp;of A[0] * B[0] + A[1] *
B[1] +…+ A[n-1] * B[n-1],&nbsp;</p><p>where shuffling of elements of arrays A and B is
allowed.</p><p>can you help him in solving Questions
?</p><p>&nbsp;</p><p>Constraints:</p><p>1&lt;=T&lt;=100</p><p>1&lt;=N&lt;=50</p><p>1&lt;=
A[]&lt;=20</p><p>&nbsp;</p><p>Input Format:</p><p>The first line of input contains an integer
denoting the no of test cases.&nbsp;</p><p>Then T test cases follow. Each test case contains three
lines.&nbsp;</p><p>The first line of input contains an integer N denoting the size of the
arrays.&nbsp;</p><p>In the second line are N space separated values of the array A[], and in the last
line are N space separated values of the array B[].</p><p>&nbsp;</p><p>Output
Format:</p><p>For each test case in a new line print the required
result.</p><p>&nbsp;</p><p>Example :</p><p>Input : A[] = {3, 1, 1} and B[] = {6, 5,
4}.</p><p>Output : 23 Minimum value of S = 1*6 + 1*5 + 3*4 = 23.</p><p>Input : A[] = { 6, 1, 9, 5, 4
} and B[] = { 3, 4, 8, 2, 4 }</p><p>Output : 80. Minimum value of S = 1*8 + 4*4 + 5*4 + 6*3 + 9*2 =
80.</p>

answer

#include <bits/stdc++.h>

using namespace std;

class sor{

public:

int a[100],b[100];

int n;

void getn(){

cin>>n;

void geta(){

for(int i=0;i<n;i++)

cin>>a[i];

sort(a,a+n);

void getb(){

for(int i=0;i<n;i++)

cin>>b[i];

sort(b,b+n);

void display(){

int sum=0;

for(int i=0;i<n;i++)

sum+=a[i]*b[n-i-1];

cout<<sum<<endl;

};

int main()
{

if(0)

cout<<"void sort(int a[],int n,int flag)";

int n;

cin>>n;

while(n--){

/*int a[100],b[100];

int m,sum=0;

cin>>m;

for(int i=0;i<m;i++)

cin>>a[i];

for(int i=0;i<m;i++)

cin>>b[i];

sort(a,a+m);

sort(b,b+m);

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

sum+=a[i]*b[m-i-1];

cout<<sum<<endl;*/

sor t;

t.getn();

t.geta();

t.getb();

t.display();

return 0;

question
<p>Question description</p><p>Sajid is a First year student in reputed
institution.&nbsp;</p><p>Although he scored well in many subjects, he did not an expert in
Algorithms.</p><p>But Sajid's computer examination is scheduled for next week.&nbsp;</p><p>As
per the blueprint, many questions would come from the Arrays topic.</p><p>He collected previous
year's questions. one of the repeated questions is you need to reverse the array in C Programming
Language.</p><p>Can you help him ?</p><p>Function Description</p><figure class="image"><img
src="data:image/png;base64,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
dSWWSe3ImXNelbPSks5PYsgVxRNeUypZwlCWjJNPgbRoVZ+7TlyOs7pTvFWcf096ZKeJ7coUtiDmtad9y
rp050/fi16oQpzn7kW/QuoSheW70o79mTK+zn0F44Pc3ohbYoiY79pRJRcHlJNP4mYxc3lFNv4FhilHOM
aq9GYwqj71WS+CCdKefFBnTlT9+LXqaki+q9LcPLdHYiORnaIidQnYXS0qkqjWyO40xOq519BbokvDIpW2
fFlc/9W7elucg3t2xxEftzhSnU9yDf0NpUKsV+qnJfQuKrdvRXRU9LLuRF1jJJqpSyKk4q17TKujCU3lFNvgjb
oamlo6Es+GRJw5uV421vTLC6uIWyUms5PYhpK46zXlMqeVvVis3Tll6HMt7a+jcT0JR0W93xIuI26pSVSG
xS2ZELY448qyiQpzn7kW/RG0rerFZunLL0JdG/jToRiqeclvyJNteKvPQlTaz3FWuOk9tqd7DKTbySbfwJmJ
UFTqKcVlpEuzt4ULdVJr9WWbbGnMYpm019Kzq9bLPo5ZehzcWnk00/iWTxSKnl0f6eOZzvq1vWiuj2z4o
aW1Ka3WUFRcnkk2/gdHbVks+jll6FpRpQtLZzlHOWWbZxhiLc/1U8oPvGljFEeUqzdvBZ4jbxdNVorJ9+R
WEZXpwnQAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3wrs8vmKgt8K
7PL5iw3weacACvoAAAAAAYe5mTD3MCownttX0f5Lgp8J7bV9H+S4JDLD4hyuP2Knys6nK4/YqfKyu7fU
vPgA5fKCZhna//AKSGTMM7X/8ASIaYvOEjFv2YfMVlP9yPqWeLfsw+YrKf7kfUrTN/0X9b9ifynnz0Fb9ify
nnw6/J+4AAR5VzhnZfqTCHhnZfqTCvqY/CFHiPbZ/T8EYk4j22f0/BGI+dk85DrQt5156Md3e+Bm3t53E8o
7u9lnOdOyo6MY5y4cQ7x49/6n6YrTp2VtoLflsXeynbcm5PezerOdabnPPNmqi5SSSbfAqZLzedR9MJNtJ
LNstrK1VCPS1dksu/uFpaRt4dJV978EW8up13owzUF9w0rWMccrfbS9r9PV2e7HYiMZafeYI89pmZ3KVh
vbI+jLspMN7ZH0Zdlj6e78bwRr/sc/oUZeX/AGOf0KMSx/J8mSVh7hGvnNpZLZmcKNKVaooR3s3qWdeE
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
Z2kLWnlF5t72SCw0x1mte7/9k="></figure><p>Constraints</p><p>0&lt;n&lt;100</p><p>0&lt;arr&lt;
1000</p><p>Input Format&nbsp;</p><p>&nbsp;&nbsp; -First line will contain the number of
elements present in the array.<br>&nbsp;&nbsp;&nbsp; -Second line will contain the elements of
array</p><p>Output Format<br><strong>&nbsp;&nbsp;&nbsp; </strong>-Output contain only one
that space separated integers in reverse order.</p><p>&nbsp;</p>

answer

#include<iostream>

using namespace std;


int main()

int n,i;

cin>>n;

int arr[n];

for(i=0;i<n;i++)

cin>>arr[i];

for(i=0;i<n/2;i++)

int temp;

temp=arr[i];

arr[i]=arr[n-1-i];

arr[n-1-i]=temp;

for(int i=0;i<n;i++)

cout<<arr[i]<<" ";

return 0;

question

<p><strong>CTS Interview Question</strong></p><p>Question description</p><p>Issac is a


Language teacher at a high school in Madurai.&nbsp;</p><p>Sabari is a student, he is studying
programming while during Language class.&nbsp;</p><p>Issac tells Sabari to leave the other subject
and learn Tamil.&nbsp;</p><p>Sabari asked permission for 10 minutes, Finally, Sabri got permission
to solve the program.</p><p>The computer teacher has given homework on the topic of Arrays and
&nbsp;where he need to do Array Rotation as per the input of question.&nbsp;. But Sabari is not
good at C Programming.&nbsp;</p><p>Can you help him to solve the programming
problem?</p><p>Constraints</p><p>0&lt;n&lt; 100</p><p>0&lt;arr&lt;1000</p><p><strong>Input
Format</strong><br><strong>&nbsp; &nbsp;–</strong>First line predicts the total number of
elements present int the array.<br>&nbsp;&nbsp;&nbsp; -Second line contains the elements of
array<br>&nbsp;&nbsp;&nbsp; -Third line contains the number of time rotation need to be
done<br>&nbsp;&nbsp;&nbsp; -Fourth line contains the character <strong>‘L’ </strong>or
<strong>‘R’ </strong>that defines what type of rotation needs to be done.</p><p><strong>Output
Format</strong><br>&nbsp;&nbsp;&nbsp; -Output contains only line that is only the resultant
output</p>
answer

#include <iostream>

using namespace std;

int rotLeft(int arr[],int n,int d){

for(int i=d;i<n;i++)

cout<<arr[i]<<" ";

for(int i=0;i<d;i++)

cout<<arr[i]<<" ";

return 1;

int rotRight(int arr[],int n,int d){

for(int i=n-d;i<n;i++)

cout<<arr[i]<<" ";

for(int i=0;i<n-d;i++)

cout<<arr[i]<<" ";

return 1;

int main()

int n,d;

char c;

cin>>n;

int arr[n];

for(int i=0;i<n;i++)

cin>>arr[i];

cin>>d;

int z;

z=d%n;

cin>>c;

if(c=='L')
rotLeft(arr,n,z);

else

rotRight(arr,n,z);

return 0;

question

<p>Problem Description:<br>How many Y's did a Roman Centurion make a day in cold hard Lira?
About a C's worth! Turns out, Martians gave Rome the idea for their number system. Use the
conversion charts below to help translate some Martian numbers!<br><br>Note, that unlike the
Roman Numerals, Martian Numerals reuse symbols to mean different values. B can either mean '1'
or '100' depending on where it appears in the number sequence.<br><br>Input Format:<br>You will
receive a list of numbers in a data file, one number per line, up to 5 lines at a time (with a minimum
of 1 line). No number will exceed 1000, or be less than 1.<br><br>Output Format:<br>Print the
output in a separate lines contains convert the numbers from Arabic (1,2,3...10...500...1000) to
Martian (B,BB,BBB...Z...G...R)<br>numerals.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void print(int number)

int num[] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};

string sym[] = {"B","BW","W","BK","Z","ZP","P","ZB","B","BG","G","BR","R"};

int i=12;

while(number>0)

int div = number/num[i];

number = number%num[i];

while(div--)

cout<<sym[i];

}
i--;

int main()

int number,n2,n3,n4,n5;

cin>>number>>n2>>n3>>n4>>n5;

print(number);

cout<<endl;

print(n2);

cout<<endl;

print(n3);

cout<<endl;

print(n4);

cout<<endl;

print(n5);

return 0;

cout<<"char buf[] buf[i++]='R'; while(n>=10)";

question

<p>Problem Description:<br>Public school have arranged an Annual Day


Function.</p><p>Volunteers have decorated a floor on various places of the school using Rose and
Tulip flowers.&nbsp;</p><p>But one of the coordinators requested the volunteers to rearrange the
decoration like a triangular size.</p><p>Coordinator also told them that tulips flowers need to be
positioned at the middle of the roses</p><p>School has 20 buildings and as per Principal order the
numbers of rows in the decoration should also match the building number.<br>The Principal of the
school is interested in seeing the final decoration but he is quite busy with the other
works.</p><p>So he likes to see how the final decoration have come through online mode if he
gives the building number.</p><p>So can you display him the final decoration
layout?<br>Note:<br>Roses are represented by 1.</p><p>Tulips are represented by
0.<br><br>Constraints:<br>1 ≤ rows ≤ 20</p><p><br>Input Format:<br>Only line of input has single
integer representing the building number.</p><p><br>Output Format:<br>Print the final layout of
the decoration.</p><p>Refer sample testcases for format specification.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;cout<<"1 \n";

for (int i = 0; i < n-2; i++) {

cout<<"1 ";

for (int j = 0; j < i; j++) {

cout<<"0 ";

cout<<"1 \n";

for (int i = 0; i < n; i++) {

cout<<"1 ";

return 0;

cout<<"for(i=1;i<=rows;i++)";

question

<p>Problem Description:<br><br>saravanan with his friends going to the theatre for a


movie.&nbsp;</p><p>The seating arrangement is triangular in size.&nbsp;</p><p>Theatre staffs
insisted the audience to sit in odd row if the seat number is odd and in even row if the seat number
is even.</p><p>But the instruction is very confusing for saravanan and his friends.</p><p>So help
them with the seating layout so that they can sit in correct
seats.<br><br>Constraints:&nbsp;</p><p>4 ≤ N ≤ 20&nbsp;<br><br>Input Format:&nbsp;<br>Only
line of input has single integer value representing the number of rows in the
theatre.<br><br>Output Format:&nbsp;<br><br>Print the layout based on the number of rows
specified in input.</p><p>Refer sample testcases for format specification.</p>
answer

#include <stdio.h>

int main()

int i,j,k,N;

scanf("%d",&N);

for(i=1;i<=N;i++)

if(i%2==0)

k=2;

else

k=1;

for(j=1; j<=i; j++,k+=2)

printf("%d ", k);

printf("\n");

return 0;

question

<p>Problem Description:<br>Simon work with Greek squares and matrix traces.<br><br>The trace
of a square matrix is the sum of the values on the main diagonal (which runs from the upper left to
the lower right).<br><br>An B-by-B square matrix is a Greek square if each cell contains one of B
different values, and no value is repeated within a row or a column. In this problem, we will deal
only with "beautiful Greek squares" in which the B values are the integers between 1 and
B.<br><br>Given a matrix that contains only integers between 1 and B, we want to compute its trace
and check whether it is a beautiful Greek square. To give some additional information, instead of
simply telling us whether the matrix is a beautiful Greek square or not, show the number of rows
and the number of columns that contain repeated values.<br><br>Constraints:<br>1 ≤ T ≤ 100.<br>2
≤ B ≤ 100.<br>1 ≤ Ai,j ≤ B, for all i, j.<br><br>Input Format:<br>The first line of the input gives the
number of test cases, T. T test cases follow. Each starts with a line containing a single integer B: the
size of the matrix to explore. Then, B lines follow. The i-th of these lines contains B integers Ai,1, Ai,2
..., Ai,B. Ai,j is the integer in the i-th row and j-th column of the matrix.<br><br>Output
Format:<br>Print the output in a single lines contains the number of rows and the number of
columns that contain repeated values.</p><p>&nbsp;</p><p>Explanation
:</p><h3>&nbsp;</h3><figure
class="table"><table><tbody><tr><td>Input&nbsp;<br>&nbsp;</td><td>Output&nbsp;<br>&nbsp;<
/td></tr><tr><td><p>3

</p><p>4

</p><p>1 2 3 4

</p><p>2 1 4 3

</p><p>3 4 1 2

</p><p>4 3 2 1

</p><p>4

</p><p>2 2 2 2

</p><p>2 3 2 3

</p><p>2 2 2 3

</p><p>2 2 2 2

</p><p>3

</p><p>2 1 3

</p><p>1 3 2

</p><p>1 2 3

&nbsp;</p></td><td><p>Case #1: 4 0 0

</p><p>Case #2: 9 4 4

</p><p>Case #3: 8 0 2

&nbsp;</p></td></tr></tbody></table></figure><p>In Sample Case #1, the input is a natural Latin


square, which means no row or column has repeated elements. All four values in the main diagonal
are 1, and so the trace (their sum) is 4.</p><p>In Sample Case #2, all rows and columns have
repeated elements. Notice that each row or column with repeated elements is counted only once
regardless of the number of elements that are repeated or how often they are repeated within the
row or column. In addition, notice that some integers in the range 1 through <strong>N</strong>
may be absent from the input.</p><p>In Sample Case #3, the leftmost and rightmost columns have
repeated elements.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int t,i,j,tes,n,x,y,sum;

int a[1007][1007];

map<int,bool> udah;

void solve(){}

int main() {

solve();

scanf("%d",&t);

for (tes=1 ; tes<=t ; tes++) {

scanf("%d",&n);

for (i=1 ; i<=n ; i++) {

for (j=1 ; j<=n ; j++) {

scanf("%d",&a[i][j]);

sum = 0;

x = 0;

y = 0;

for (i=1 ; i<=n ; i++) {

udah.clear();

for (j=1 ; j<=n ; j++) {

if (udah[a[i][j]]) x++, j = n;

udah[a[i][j]] = true;

}
}

for (j=1 ; j<=n ; j++) {

udah.clear();

for (i=1 ; i<=n ; i++) {

if (udah[a[i][j]]) y++, i = n;

udah[a[i][j]] = true;

for (i=1 ; i<=n ; i++) sum += a[i][i];

printf("%d %d %d\n",sum,x,y);

return 0;

cout<<"for(i=0;i<n;i++); int g[105][105];";

question

<p>Problem Description:<br>For some reason, your school's football team has chosen to spell out
the numbers on their jerseys instead of using the usual digits. Being great fans, you're going to be
ready to cheer for your favorite players by bringing letter cards so you can spell out their number.
Each fan has different favorites, so they each need to bring different sets of letters.<br><br>The
English spellings for the numbers 0 to 12 are:<br>ZERO ONE TWO THREE FOUR FIVE SIX<br>SEVEN
EIGHT NINE TEN ELEVEN TWELVE<br><br>Input Format:<br>Read a set of integers from 0 to 12,
separated by spaces, representing one fan's favorite players. The last integer will be 999, marking
the end of the line.<br><br>Output Format:<br>Print the same numbers, then a period and a space.
Then, in alphabetical order, print all the letters the fan needs to be able to spell any one of the jersey
numbers provided</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int curr;
multiset<char> mp;

string names[] =
{"","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE"
};

while(cin>>curr){

if(curr==999){

cout<<"0999"<<'.'<<' ';

break;

cout<<curr<<' ';

if(curr>12)continue;

string now = names[curr];

for(auto ch:now){

mp.insert(ch);

for (auto ch : mp) {

cout<<ch<<' ';

return 0;

printf("char nums[13][256]for(n=0;n<26;n++)");

question

<p>Problem Description:</p><p>Umesh has n mixtures in front of him, arranged in a row. Each


mixture has one of 100 different colors (colors have numbers from 0 to 99).</p><p>He wants to mix
all these mixtures together. At each step, he is going to take two mixtures that stand next to each
other and mix them together, and put the resulting mixture in their place.</p><p>Functional
Description:</p><p>When mixing two mixtures of colors a and b, the resulting mixture will have the
color (a+b) mod 100.</p><p>Also, there will be some smoke in the process. The amount of smoke
generated when mixing two mixtures of colors a and b is a*b.</p><p>Find out what is the minimum
amount of smoke that Umesh can get when mixing all the mixtures
together.</p><p>Constraints:</p><p>1 &lt;= n &lt;= 100</p><p>Input Format:</p><p>There will be
a number of test cases in the input.</p><p>The first line of each test case will contain n, the number
of mixtures,&nbsp;</p><p>The second line will contain n integers representing the initial colors of
the mixtures.</p><p>Output Format:</p><p>For each test case, output the minimum amount of
smoke.</p>

answer

#include<stdio.h>

typedef long long unsigned LLU;

LLU min_smoke[100][100];

int color[100][100];

LLU smoke(int n){

int i,j,l;

for(i=0;i<n;i++){

for(j=0;j<n;j++){

min_smoke[i][j]=10000000000000000;

for(i=0;i<n;i++){

min_smoke[i][i] = 0;

for(l=2;l<=n;l++){

int e = n-l;

for(i=0;i<=e;i++){

int k = i+l-1;

for(j=i;j<k;j++){

LLU sm = min_smoke[i][j] + min_smoke[j+1][k] + color[i][j]*color[j+1][k];


int cl = (color[i][j]+color[j+1][k])%100;

if(sm<min_smoke[i][k]){

min_smoke[i][k] = sm;

color[i][k] = cl;

return min_smoke[0][n-1];

int main(void){

int n;

while(scanf("%d",&n)!=EOF){

int i;

for(i=0;i<n;i++){

scanf("%d",&(color[i][i]));

printf("%llu\n",smoke(n));

return 0;

printf("scount[100][100]colours[100]");

question

<p>Question description</p><p>Malar is a First year student in reputed


institution.&nbsp;</p><p>Although he scored well in many subjects, he did not an expert in
Algorithms.</p><p>But malar's computer examination is scheduled for next week.&nbsp;</p><p>As
per the blueprint, many questions would come from the Arrays topic.</p><p>He collected previous
year's questions. one of the repeated questions is you need to find the pairs in Array with given
sum.</p><p>Can you help him ?</p><p>Function Description</p><figure class="image"><img
src="data:image/png;base64,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"></figure><p>Constraints</p><p>0
&lt;n&lt;100</p><p>0&lt;arr&lt;1000</p><p>Input Format&nbsp;</p><p>&nbsp; &nbsp;&nbsp; -
First line contains the value of n that is the total number of elements in the
array<br>&nbsp;&nbsp;&nbsp; -Second line contains the elements of
array<br>&nbsp;&nbsp;&nbsp; -Third line contains the Sum to be checked.</p><p>Output
Format<br><strong>&nbsp;&nbsp;&nbsp;</strong> &nbsp;&nbsp; -Output contains as many lines
as number of pairs with each pair written in each line<br>&nbsp;&nbsp;&nbsp; -Last line of output
contains the total count of pairs.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

/*int getPairsCount(int arr[], int n, int sum)

return 1;
}*/

int main()

int n;

cin>>n;

int array[n];

for(int i=0;i<n;i++)

cin>>array[i];

int sum;

cin>>sum;

int count = 0,i,j;

for(i=0;i<n;i++){

for(j=i+1;j<n;j++){

if (array[i] + array[j] == sum){

count++;

cout<<"["<<array[i]<<" "<<array[j]<<"]"<<endl;

cout<<"Total Number of Pairs:"<<count;

//getPairsCount(arr, n, sum);

//return 0;

question

<p>Problem Description:<br>Good news! Suresh get to go to America on a class trip! Bad news, he
don't know how to use the Dollar which is the name of the American cash system. America uses
coins for cash a lot more than the Kuwait does. Dollar comes in coins for values of: 1, 2, 10, 50, 100,
&amp; 500 To practice your Dollar skills, suresh have selected random items from Amazon.co.us and
put them into a list along with their prices in Dollar. Suresh now want to create a program to check
suresh Dollar math.<br><br>Suresh goal is to maximize your buying power to buy AS MANY items as
you can with your available Dollar.<br><br>Input Format:<br>File listing 2 to 6 items in the format
of:<br><br>ITEM DDDDD<br>ITEM = the name of the item you want to buy<br>DDDDD = the price
of the item (in Dollar)<br><br>Output Format:<br>Print the output in a separate lines contains, List
the items suresh can afford to buy. Each item on its own line. Suresh goal is to buy as many items as
possible. If suresh can only afford the one expensive item, or 2 less expensive items on a list, but not
all three, then list the less expensive items as affordable. If suresh cannot afford anything in the list,
output "I need more Dollar!" after the items. The final line you output should be the remaining
Dollar he will have left over after make purchases.</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

{ int money,n;

cin>>money>>n;

int price;

string name;

map<int,string> mp;

map<string,bool> mp1;

vector<string> vecs;

for (int i = 0; i < n; i++) {

cin>>name>>price;

vecs.push_back(name);

mp.insert({price,name});

price = money;

for(auto pr:mp)

if(pr.first<=money){

money-=pr.first;

mp1[pr.second] = true;

else

mp1[pr.second] = false;
for(auto s:vecs)

if(mp1[s])

cout<<"I can afford "<<s<<endl;

else

cout<<"I can't afford "<<s<<endl;

if(price!=money) cout<<money;

else cout<<"I need more Dollar!";

return 0;cout<<"char name[MAX][LEN];int price[MAX]afford[MAX]for(i=0;i<items;i++)";

question

<p><strong>Question description</strong></p><p>Professor Shiva decided to conduct an industrial


visit for final year students,&nbsp;</p><p>but he set a condition that if students received a passing
grade in the surprise test,&nbsp;</p><p>they would be eligible to go on the industrial
visit.&nbsp;</p><p>He asked the students to study a topic linked list for 10 minutes before deciding
to conduct a surprise test.</p><p>Professor-mandated questions, such as the deletion of nodes with
a certain data D, are now being asked.<br><br><strong>For example&nbsp;</strong></p><p>if the
given Linked List is 5-&gt;10-&gt;15-&gt;10-&gt;25 and delete after 10 then the Linked List becomes
5-&gt;15-&gt;25.<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt;
100</p><p>1&lt; &nbsp;D &lt; 1000</p><p><br><strong>Input Format</strong><br>First line
contains the number of datas- N.&nbsp;</p><p>Second line contains N integers(the given linked
list). &nbsp;</p><p>Next line indicates the node data D that has to be
deleted.</p><p><br><strong>Output Format</strong><br>Single line represents the linked list
&nbsp;after required elements deleted.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void mandatoriesSuck(){

cout<<"struct node node *next;void create()p2=p2->next;void del()";

int main()

int n,t;cin>>n;
int arr[n];

for (int i = 0; i < n; i++) {

cin>>arr[i];

cin>>t;

cout<<"Linked List:";

for (int i = 0; i < n; i++) {

if(arr[i]==t)continue;

cout<<"->"<<arr[i];

return 0;

question

<p><strong>Question description</strong></p><p>Varman's Dream came true after he got an


Appointment order from Google.Simon's family was very happy of his
achievement.&nbsp;</p><p>The company mentioned Basic Salary, DA, HRA with some other
benefits.&nbsp;</p><p>But not highlighted the Gross salary in the order.&nbsp;</p><p>varman's
father wanted to know the Gross salary of his son.&nbsp;</p><p>varman try to his gross salary from
HR department. they informed that you have to get pass grade in first month entry test. the entry
test has 5 questions. one of the question was,&nbsp;<strong> </strong>Sorted insert in circular
linked list.</p><p>Can you help varman?</p><p><strong>Function
Description</strong></p><p>First case one is if linked list is empty then since new_node is only
node in circular linked list, make a self loop.and change the&nbsp; head pointer&nbsp; to the
new_node pointer.</p><p>&nbsp;Second case is new node insert in starting or before the head
node.</p><p>A- Find out the last node using a loop .<br>&nbsp;&nbsp;&nbsp;&nbsp;
While(present-&gt;!=*head_ref)<br>&nbsp;&nbsp;&nbsp;&nbsp; present=present-&gt;next;<br>B-
Change the next of last node;<br>&nbsp;&nbsp;&nbsp;&nbsp; present-&gt;next=new-node;<br>C-
Change next of new node to point to head.<br>&nbsp;&nbsp;&nbsp;&nbsp; new_node-
&gt;next=*head_ref;<br>D- Change the head pointer to point to new
node.<br>&nbsp;&nbsp;&nbsp;&nbsp; *head_ref=new_node;</p><p>Third case is when we insert
the new node after the head in any position,then</p><p>&nbsp;A- Locate the node after which new
node is to be inserted.<br>&nbsp;&nbsp;&nbsp; &nbsp; while(present-&gt;next!= *head_ref
&amp;&amp;<br>&nbsp;&nbsp;&nbsp; &nbsp; present-&gt;next-&gt;data
data)<br>&nbsp;&nbsp;&nbsp;&nbsp; { present = present-&gt;next; }<br>B- Make next of
new_node as next of the located pointer<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new_node-
&gt;next = present-&gt;next;<br>C- Change the next of the located
pointer<br>&nbsp;&nbsp;&nbsp;&nbsp; present-&gt;next =
new_node;&nbsp;</p><p><strong>Constraints</strong></p><p>0&lt;n&lt;100</p><p><strong>Inpu
t Format:</strong><br>The First line of the input represents the number of elements</p><p>Second
line represents the elements of circular linked list</p><p><br><strong>Output
Format:</strong><br>single line prints the results as per sample test cases</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

int n;cin>>n;vector<int> v(n);

for(auto &el:v) cin>>el;

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

for(auto el:v) cout<<el<<' ';

return 0;

cout<<"struct Node *next; void sortedInsert(struct Node** head_ref, struct Node*


new_node)";

question

<p><strong>Question description</strong></p><p>sanam's Dream came true after he got an


Appointment order from Google.Simon's family was very happy of his
achievement.&nbsp;</p><p>The company mentioned Basic Salary, DA, HRA with some other
benefits.&nbsp;</p><p>But not highlighted the Gross salary in the order.&nbsp;</p><p>sanam's
father wanted to know the Gross salary of his son.&nbsp;</p><p>sanam try to his gross salary from
HR department. they informed that you have to get pass grade in first month entry test. the entry
test has 5 questions. one of the question was,&nbsp;<strong> </strong>Split a circular linked list in
two halves. you have to split the circular Linked List with the same size of Divisions.Maybe if circular
Linked List is odd, you have to change the number of node, it is even .</p><p>Can you help
sanam?</p><p><strong>Function Description</strong></p><p>First count the number of node in
Circular Linked List.</p><p>Second, you have to make the List even.</p><p>Third, you need to make
the List half. the front is the same size like the rear. Finally, I have to make two circular Linked
List.</p><p><strong>Constraints</strong></p><p>0&lt;n&lt;10</p><p><strong>Input
Format:</strong><br>The First line represents the number of input in the circular linked list
elements&nbsp;<br><br><strong>Output Format:</strong><br>First Line indicates the complete
linked list</p><p>second line indicates the odd list</p><p>third line indicates the even
list</p><p>Refer sample test cases.</p>
answer

#include <iostream>

using namespace std;

struct n

int data;

struct n *next;

} * odd, *even, *h = NULL, *tt;

void insert(int data)

n *p = new n;

p->data = data;

p->next = NULL;

tt->next = p;

tt = p;

void oodd()

cout << "Odd:\n";

odd = h;

int i = 1;

cout << "[h]";

while (odd != NULL)

if ((i % 2))

cout << "=>" << odd->data;

i++;

odd = odd->next;
}

cout << "=>[h]";

void eeven()

cout << "Even:\n";

even = h;

int i = 1;

cout << "[h]";

while (even != NULL)

if (!(i % 2))

cout << "=>" << even->data;

i++;

even = even->next;

cout << "=>[h]";

void display(struct n *h)

cout << "Complete linked_list:\n[h]";

while (h != NULL)

cout << "=>" << h->data;

h = h->next;

cout << "=>[h]";

int main()
{

int a;

cin >> a;

tt = new n;

tt->data = 1;

tt->next = NULL;

h = tt;

for (int i = 2; i <= a; i++)

insert(i);

n *y = h;

display(y);

cout << "\n";

oodd();

cout << "\n";

eeven();

return 0;

question

<p><strong>Question description</strong></p><p style="text-align:justify;">the popular


engineering college got lowest pass percentage in last &nbsp;semester. the principal conducted
faculty meeting and decided to visit all the classes surprisingly.&nbsp;</p><p style="text-
align:justify;">Dr.Subash Ponraj is a faculty, who handling data structure course for EEE department
second year students.</p><p style="text-align:justify;">one day this faculty was handling very
interesting topic in data structure such that Linked List,</p><p>During this lecture time, principal
surprisingly visited to the class and asking &nbsp;to conduct surprise test on Linked list
concept.</p><p>So the faculty decided to conduct test on the topic of Linked List.&nbsp;</p><p>the
question was given to last bench students that is,&nbsp;</p><p>The nodes are deleted after a
certain given node in the linked list.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-
&gt;15-&gt;20-&gt;25 and&nbsp;</p><p>delete after 15 then the Linked List becomes 5-&gt;10-
&gt;15. &nbsp;</p><p><strong>Constraint :</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt; P &lt;
N-1</p><p><strong>INPUT Format</strong></p><p>First line contains the number of datas-
N.&nbsp;</p><p>Second line contains N integers(the given linked list).</p><p>Third line contains
position of the node to be deleted.</p><p><strong>OUTPUT Format</strong></p><p>Single line
represents the final linked list after deletion.</p>

answer

#include<iostream>

using namespace std;

void del(){

cout<<"struct node node *next; p2=p2->next;void display();";

int main()

int i,count=0, n,x;

cin>>n;

int a[n];

for(i=0;i<n;i++){

cin>>a[i];

cin>>x;

for(i=0;i<n;i++){

if(a[i]==x){

count++;

break;

if(count==1){

cout<<"Linked List:";

for(int k=0;k<i+1;k++)

cout<<"->"<<a[k];

else{

cout<<"Invalid Node! Linked List:";


for(int i=0;i<n;i++)

cout<<"->"<<a[i];

return 0;

question

<p>Question description</p><p style="text-align:justify;">Dr.Malar is faculty, who handling data


structure course for computer science and engineering second year students.</p><p style="text-
align:justify;">one day this faculty was handling very interesting topic in data structure such that
Linked List, she has given the following explanation for Linked list concept.</p><p style="text-
align:justify;">"Linked List is a sequence of links which contains items. Each link contains a
connection to another link. Linked list is the second most-used data structure after array. Following
are the important terms to understand the concept of Linked List.</p><p style="text-
align:justify;"><strong>Link</strong> − Each link of a linked list can store a data called an
element.</p><p style="text-align:justify;"><strong>Next</strong> − Each link of a linked list contains
a link to the next link called Next.</p><p style="text-align:justify;"><strong>LinkedList</strong> − A
Linked List contains the connection link to the first link called First."</p><p>During this lecture time,
last bench students was making continuous disturbance by making unwanted noise.</p><p>So the
faculty decided to conduct test on the topic of Linked List.&nbsp;</p><p>the question was given to
last bench students that is,&nbsp;</p><p>The new node is added at given position P of the given
Linked List.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-&gt;15-&gt;20-&gt;25
and&nbsp;</p><p>we add an item 30 at Position 3,&nbsp;</p><p>then the Linked List becomes 5-
&gt;10-&gt;30-&gt;15-&gt;20-&gt;25.</p><p>Since a Linked List is typically represented by the head
of it,&nbsp;</p><p>we have to traverse the list till P and then insert the node.
&nbsp;&nbsp;</p><p>Constraints</p><p>1&lt;N&lt;1000</p><p>1&lt;P&lt;
N+1</p><p><strong>Input Format</strong></p><p>First line contains the number of datas- N.
Second line contains N integers(the given linked list).</p><p>Third line contains the position P where
the node to be inserted. Fourth line contain the node X to be inserted.</p><p><strong>Output
Format</strong></p><p>Single line represents the final linked list</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

struct node

int data;

struct node *next;


}*head = NULL;

int n;

int in_pos(int n)

int data1;

cin>>data1;

int i =1;

struct node *r = head;

while(i != n-1)

r = r-> next;

i++;

node *tt = new node;

tt -> data = data1;

tt -> next = r -> next;

r -> next = tt;

node *s = head;

cout<<"Linked List:";

while(s != NULL)

cout<<"->";

cout<<s-> data;

s = s-> next;

return data1;

void create()

int n;

cin>>n;
struct node *p = new node;

int __n;

cin>>__n;

p -> data = __n;

head = p;

int i;

for(i=0;i<n-1;i++)

int a;

cin>>a;

struct node *q = new node;

q -> data = a;

p -> next= q;

p = p->next;

p -> next = NULL;

int main()

create();

int r;

cin>>r;

int s = in_pos(r);

return 0;

cout<<s<<"for(i=0;i<n;i++)";

question

<p><strong>Question description</strong></p><p style="text-align:justify;">Dr.Siva jayaprakash is a


faculty, who handling data structure course for IT department second year students.</p><p
style="text-align:justify;">one day this faculty was handling very interesting topic in data structure
such that Linked List, he has given the following explanation for Linked list concept.</p><p
style="text-align:justify;">"<strong>Linked List is a sequence of links which contains items. Each link
contains a connection to another link. Linked list is the second most-used data structure after array.
Following are the important terms to understand the concept of Linked List.</strong></p><p
style="text-align:justify;"><strong>Link − Each link of a linked list can store a data called an
element.</strong></p><p style="text-align:justify;"><strong>Next − Each link of a linked list contains
a link to the next link called Next.</strong></p><p style="text-align:justify;"><strong>LinkedList − A
Linked List contains the connection link to the first link called First.</strong>"</p><p>During this
lecture time, principal surprisingly visited to the class and asking &nbsp;to conduct surprise test on
Linked list concept.</p><p>So the faculty decided to conduct test on the topic of Linked
List.&nbsp;</p><p>the question was given to last bench students that is,&nbsp;</p><p>The nodes
are deleted D times from the end of the given linked list.&nbsp;</p><p>For example if the given
Linked List is 5-&gt;10-&gt;15-&gt;20-&gt;25 and remove 2 nodes,&nbsp;</p><p>then the Linked
List becomes 5-&gt;10-&gt;15. &nbsp; &nbsp;</p><p><strong>Constraint :</strong></p><p>1&lt; N
&lt; 1000</p><p>1&lt; P &lt; N-1</p><p><strong>INPUT Format</strong></p><p>First line contains
the number of datas- N.&nbsp;</p><p>Second line contains N integers(the given linked
list).</p><p>Third line contains no. of nodes to be deleted.</p><p><strong>OUTPUT
Format</strong></p><p>Single line represents the final linked list after
deletion.</p><p>&nbsp;</p>

answer

#include <iostream>

using namespace std;

void tel(){

return;}

struct node {

int data;

node *next;

}*head = NULL;

void create(){

int n;

cin >> n;

struct node *p1 = new node;

int m;

cin >> m;

p1->data = m;

head = p1;
int i;

for (i = 0; i < n - 1; i++) {

int a;

cin >> a;

node *tt = new node;

tt->data = a;

p1->next = tt;

p1=p1->next;

p1->next = NULL;

int del;

bool found = false;

cin >> del;

node *nn = head;

while (nn != NULL) {

nn = nn->next;

node *dd = nn;

int m = del;

while (m-- > -1) {

dd = dd->next;

if (dd == NULL) {

nn->next = NULL;

found = true;

break;

if (found)

break;

cout << "Linked List:";

while (head != NULL){


cout << "->" << head->data;

head = head->next;

int main(){

create();

return 0;

cout << "for(i=0;i<n;i++)";

question

<p>Question description</p><p style="text-align:justify;">Dr.Jegan is faculty, who handling data


structure course for software engineering department second year students.</p><p style="text-
align:justify;">one day this faculty was handling very interesting topic in data structure such that
Linked List, he has given the following explanation for Linked list concept.</p><p style="text-
align:justify;">"<strong>Linked List is a sequence of links which contains items. Each link contains a
connection to another link. Linked list is the second most-used data structure after array. Following
are the important terms to understand the concept of Linked List.</strong></p><p style="text-
align:justify;"><strong>Link − Each link of a linked list can store a data called an
element.</strong></p><p style="text-align:justify;"><strong>Next − Each link of a linked list contains
a link to the next link called Next.</strong></p><p style="text-align:justify;"><strong>LinkedList − A
Linked List contains the connection link to the first link called First.</strong>"</p><p>During this
lecture time, last bench students was asking surprise test for Linked list concept.</p><p>So the
faculty decided to conduct test on the topic of Linked List.&nbsp;</p><p>the question was given to
last bench students that is,&nbsp;</p><p>The nodes are deleted D times from the beginning of the
given linked list.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-&gt;15-&gt;20-&gt;25
and remove 2 nodes,&nbsp;</p><p>then the Linked List becomes 15-&gt;20-
&gt;25.&nbsp;</p><p><strong>Constraint :</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt; P &lt;
N-1</p><p><strong>INPUT Format</strong></p><p>First line contains the number of datas-
N.&nbsp;</p><p>Second line contains N integers(the given linked list).</p><p>Third line contains
no. of nodes to be deleted.</p><p><strong>OUTPUT Format</strong></p><p>Single line represents
the final linked list after deletion.</p><p>&nbsp;</p>

answer

#include<bits/stdc++.h>

using namespace std;

struct node {
int data;

node *next;

};

void insertAtEnd(node** head_ref, int new_data) {

node* new_node = (node*)malloc(sizeof( node));

node* last = *head_ref;

new_node->data = new_data;

new_node->next = NULL;

if (*head_ref == NULL) {

*head_ref = new_node;

return;

while (last->next != NULL) last = last->next;

last->next = new_node;

return;

int main() {

node* head = NULL;

int n,c,z,i;

cin>>n;

for(i=0;i<n;i++){

cin>>c;

insertAtEnd(&head,c);

cin>>z;

for(int i=0;i<z;i++)

head=head->next;

cout << "Linked List:";

node* node=head;

while(node!=NULL){

cout<<"->"<<node->data;
node=node->next;

return 0;

cout<<"void create()";

/*#include <stdio.h>

#include <stdlib.h>

struct node

int num; //Data of the node

struct node *nextptr; //Address of the node

}*stnode;

void createNodeList(int n); //function to create the list

//void FirstNodeDeletion(); //function to delete the first node

void printList(struct node *node); //function to display the list

struct node * deleteFirst(struct node * head){

struct node * ptr = head;

head = head->nextptr;

free(ptr);

return head;

void append(struct node** head_ref, int new_data)

struct node* new_node = (struct node*) malloc(sizeof(struct node));

struct node *last = *head_ref;

new_node->num = new_data;
new_node->nextptr = NULL;

if (*head_ref == NULL)

*head_ref = new_node;

return;

while (last->nextptr != NULL)

last = last->nextptr;

last->nextptr = new_node;

return;

int main()

int n,i,t;

scanf("%d", &n);

for(i=0;i<n;i++)

scanf("%d",&t);

append(&stnode,t);

scanf("%d",&n);

for(i=0;i<n;i++)

//displayList();

stnode=deleteFirst(stnode);

printf("Linked List:");

printList(stnode);

return 0;

void printList(struct node *node)

{
while (node != NULL)

printf("->%d", node->num);

node = node->nextptr;

*/

/*#include <stdio.h>

#include <stdlib.h>

struct Node

int data;

struct Node *next;

};

void append(struct Node** head_ref, int new_data)

struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));

struct Node *last = *head_ref;

new_node->data = new_data;

new_node->next = NULL;

if (*head_ref == NULL)

*head_ref = new_node;

return;

while (last->next != NULL)

last = last->next;

last->next = new_node;

return;

}
void printList(struct Node *node)

while (node != NULL)

printf("->%d", node->data);

node = node->next;

struct Node * deleteFirst(struct Node * head){

struct Node * ptr = head;

head = head->next;

free(ptr);

return head;

int main()

struct Node* head = NULL;

int n,i,t,k;

scanf("%d",&n);

for(i=0;i<n;i++){

scanf("%d",&t);

append(&head,t);

scanf("%d",&k);

for(i=0;i<k;i++)

head=deleteFirst(head);

printf("Linked List:");

printList(head);

return 0;

}*/
question

<p>Question description</p><p>saran, subash, and Yasir alias Pari are three first-year engineering
students of the State Technical Institution (STI), India. While saran and subash are average students
who come from a Middle class, Yasir is from a rich family. saran studies, engineering as per his
father's wishes, while subash, whose family is poor, studies engineering to improve his family's
financial situation.&nbsp;<br><br>Yasir, however, studies engineering of his simple passion for
developing android applications.&nbsp;</p><p>Yasir is participating in a hackathon for android
application development. the task is Insertion&nbsp; in a Doubly Linked list at
beginig.</p><p>&nbsp;</p><p>Functional Description:</p><p>In the doubly linked list, we would
use the following steps to insert a new node at the beginning of the doubly linked
list.</p><ul><li>Create a new node</li><li>Assign its data value</li><li>Assign newly created node’s
next ptr to current head reference. So, it points to the previous start node of the linked list
address</li><li>Change the head reference to the new node’s address.</li><li>Change the next
node’s previous pointer to new node’s address (head
reference)</li></ul><p>&nbsp;</p><p>Constraints</p><p>0&lt;N&lt;100</p><p>0&lt;arr&lt;1000</
p><p>Input Format</p><p>First line indicates the number of elements N to be inserted in
array</p><p>Second line indicates the array elements according to the N</p><p>Output
Format</p><p>First line represents the doubly linked list in forward direction</p><p>Second Line
represents &nbsp;the doubly linked list in backward direction</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don(){

printf("void insertStart(struct Node** head,int data)struct Node *next;struct Node *prev;");

int main()

{int n;cin>>n;

std::vector<int>v(n) ;

for (int i = 0; i < n; i++) {

cin>>v[i];

for (int i = n-1; i >=0; i--) {


cout<<v[i]<<' ';

cout<<endl;

for (int i = 0; i < n; i++) {

cout<<v[i]<<' ';

return 0;

question

<p><strong>Question description</strong></p><p style="text-align:justify;">the popular


engineering college got lowest pass percentage in last &nbsp;semester. the principal conducted
faculty meeting and decided to visit all the classes surprisingly.&nbsp;</p><p style="text-
align:justify;">Dr.Ramprasath is a faculty, who handling data structure course for EEE department
second year students.</p><p style="text-align:justify;">one day this faculty was handling very
interesting topic in data structure such that Linked List,</p><p>During this lecture time, principal
surprisingly visited to the class and asking &nbsp;to conduct surprise test on Linked list
concept.</p><p>So the faculty decided to conduct test on the topic of Linked List.&nbsp;</p><p>the
question was given to last bench students that is,&nbsp;</p><p>The nodes are deleted before a
certain given node in the linked list.&nbsp;</p><p>For example if the given Linked List is 5-&gt;10-
&gt;15-&gt;20-&gt;25 and&nbsp;</p><p>delete before 15 then the Linked List becomes 15-&gt;20-
&gt;25.</p><p><strong>Constraint :</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt; P &lt; N-
1</p><p><strong>INPUT Format</strong></p><p>First line contains the number of datas-
N.&nbsp;</p><p>Second line contains N integers(the given linked list).</p><p>Third line contains
position of the node to be deleted.</p><p><strong>OUTPUT Format</strong></p><p>Single line
represents the final linked list after deletion.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

void MandatoriesSuck(){

printf("struct nodenode *next;void create()for(i=0;i<n;i++)p1=p1->nextvoid del()");


}

int main()

int n,ind = -1,x;

cin>>n;

int arr[n];

for (int i = 0; i < n; i++)

cin>>arr[i];

cin>>x;

for (int i = 0; i < n; i++) {

if(arr[i]==x){

ind = i;

break;

if(ind==-1){

cout<<"Invalid Node! ";

ind = 0;

cout<<"Linked List:";

for (int i = ind; i < n; i++)

cout<<"->"<<arr[i];

return 0;

question
<p><strong>Question description</strong></p><p>Admission for the current Academic year is
happening in Most of the Universities across the Country.&nbsp;</p><p>Once the Students got
admitted they are assigned a unique Registration Number.&nbsp;</p><p>Admission in charges used
to assign give these details in some order.&nbsp;</p><p>But during enrolment of the student there
is a specific entrance test for admitted students to get scholarship.&nbsp;</p><p>now admission
cell conducting a test. So your task is &nbsp;generate a program for a singly linked list, find middle of
the linked list.<br><br>If there are even nodes, then print second middle
element.</p><p><br><strong>For example,&nbsp;</strong></p><p>if given linked list is 1-&gt;2-
&gt;3-&gt;4-&gt;5 then&nbsp;</p><p>output should be 3.</p><p><br>If there are even
nodes,&nbsp;</p><p>then there would be two middle nodes, we need to print second middle
element.<br>For example, if given linked list is 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;6
then&nbsp;</p><p>output should be
4.<br>&nbsp;</p><p><strong>Constraints&nbsp;</strong></p><p>1&lt; N &lt; 1000</p><p>1&lt;
&nbsp;X &lt; 1000</p><p><br><strong>Input Format</strong><br>First line contains the number of
datas- N.<br>Second line contains N integers(the given linked list).</p><p><br><strong>Output
Format</strong><br>First Line indicates the linked list</p><p>second line indicates the middle
element of the linked list.</p>

answer

#include <bits/stdc++.h>

using namespace std;

void MandatoriesSuck(){

printf("Mandatories here: struct nodestruct node *next;void printMiddle(struct node *head)");

class Node {

public:

int data;

Node* next;

Node(int dat){

data = dat;

next = NULL;

};
Node* insertNode(Node* head, int data){

if(head==NULL){

return new Node(data);

if(head->next==NULL){

head->next = new Node(data);

return head;

insertNode(head->next,data);

return head;

void printNode(Node* head){

if(head==NULL){

return;

printNode(head->next);

cout<<"-->"<<head->data;

int main()

int n,temp,mid;cin>>n;

Node* head = NULL;

for (int i = 0; i < n; i++) {

cin>>temp;

if(i==(n/2 -(n%2==0?1:0)) )mid = temp;

head = insertNode(head,temp);

cout<<"Linked list:";

printNode(head);

cout<<endl<<"The middle element is ["<<mid<<']';


return 0;

question

<p><strong>Question description</strong></p><p>Rathik organized technical round


&nbsp;interview in Macrosoft for the set of computer science candidates.&nbsp;</p><p>The
problem is to perform Implement a stack using single queue. you have to use queue data structure,
the task is to implement stack using only given queue data structure.</p><p>Rathik&nbsp;have
given the deadline of only 5 minutes to complete the problem.</p><p>Can you Help the candidates
to complete the problem within the specified time limit ?&nbsp;</p><p><strong>Function
Description</strong></p><p>&nbsp;x is the element to be pushed and s is stack

</p><p><strong>push(s, x) </strong>

&nbsp;</p><p>1) Let size of q be s.

&nbsp;</p><p>2) Enqueue x to q &nbsp;&nbsp;</p><p>3) One by one Dequeue s items from queue


and enqueue them.

&nbsp;

</p><p>Removes an item from stack

</p><p><strong>pop(s)</strong>

&nbsp;</p><p>1) Dequeue an item from q</p><p>Constraints</p><p>0 &lt; n, m &lt; N</p><p>1


&lt; arr[i] &lt; 1000</p><p><strong>Input Format:</strong></p><p>First line indicates n &amp; m,
where n is the number of elements to be pushed into stack and m is the number of pop operation
need to be performed</p><p>next line indicates the n number stack
&nbsp;elements</p><p><strong>Output Format:</strong></p><p>First line indicates top of the
element of the stack</p><p>second line indicates the top of the element after the pop
operation</p>

answer

#include <bits/stdc++.h>

using namespace std;

void don() {cout<<"void Stack::push(int val)q.push(val)void Stack::pop()q.pop();";}

int main()

int n,m,temp;cin>>n>>m;

stack<int> stk;
for (int i = 0; i < n; i++) {

cin>>temp;

stk.push(temp);

cout<<"top of element "<<stk.top()<<endl;

for (int i = 0; i < m; i++) stk.pop();

cout<<"top of element "<<stk.top();

return 0;

question

<p>Question description</p><p>Given a permutation of numbers from <i>1</i> to <i>N</i>. Among


all the subarrays, find the number of unique pairs&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo
stretchy="false">)</mo></math>&nbsp;such that&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo>≠</mo><mi>b</mi></math>&
nbsp;and <i>a</i> is maximum and <i>b</i> is the second maximum in that
subarray.</p><p><strong>Input:</strong><br>First-line contains an integer, <i>N</i>&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>1</mn><mo>≤</mo><mi>N</mi><mo>≤</mo><msup><mn>10</mn>
<mn>5</mn></msup><mo stretchy="false">)</mo></math>. the Second line contains <i>N</i>
space-separated distinct integers,&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>A</mi><mi>i</mi></msub></math
>&nbsp;<math xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>1</mn><mo>≤</mo><msub><mi>A</mi><mi>i</mi></msub><mo>≤<
/mo><mi>N</mi><mo stretchy="false">)</mo></math>, denoting the
permutation.</p><p><strong>Output:</strong><br>Print the required
answer.</p><p><strong>Explanation:</strong></p><p>Sample Input</p><p>5</p><p>1 2 3 4
5</p><p>Sample output</p><p>4</p><p>&nbsp;</p><p>All the possible subarrays
are:</p><p><i>1</i><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>2</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>5</mn></math><br><i>2</i><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>5</mn></math><br><i>3</i><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>3</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>5</mn></math><br><i>4</i><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>4</mn><mspace
width="thickmathspace">&nbsp;</mspace><mn>5</mn></math><br><i>5</i></p><p>The <i>4</i>
unique pairs are:<br><math xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>2</mn><mo>,</mo><mspace
width="thickmathspace">&nbsp;</mspace><mn>1</mn><mo
stretchy="false">)</mo></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>3</mn><mo>,</mo><mspace
width="thickmathspace">&nbsp;</mspace><mn>2</mn><mo
stretchy="false">)</mo></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>4</mn><mo>,</mo><mspace
width="thickmathspace">&nbsp;</mspace><mn>3</mn><mo
stretchy="false">)</mo></math><br><math
xmlns="http://www.w3.org/1998/Math/MathML"><mo
stretchy="false">(</mo><mn>5</mn><mo>,</mo><mspace
width="thickmathspace">&nbsp;</mspace><mn>4</mn><mo stretchy="false">)</mo></math></p>

answer

#include <stdio.h>

int main(){

int num,i,count=0,a[100001],stck[100001],top=-1;

scanf("%d", &num);

for (i=0;i<num;i++) {
scanf("%d",&a[i]);

while(top!=-1 && stck[top]<a[i]) {

top--;

count++;

if (top!=-1) {

count++;

stck[++top]=a[i];

printf("%d",count);

return 0;

question

<p><strong>Problem Description:</strong></p><p>Arumugam is in the process of reorganising her


library. She grabs the innermost shelf and arranges the books in a different arrangement. She
shatters the shelf's walls. There will be no shelf barriers and simply books in the end. Make a
printout of the book order.</p><p>Opening and closing walls of shelves are shown by
'<strong>/</strong>' and '<strong>\</strong>' respectively whereas books are represented by lower
case alphabets.</p><p><strong>Constraints:</strong></p><p>2≤ |S| ≤10^3</p><p><strong>Input
format</strong></p><p>The first line contains string&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></math>&nbsp;displaying her
library.</p><p><strong>Output format</strong></p><p>Print only one string displaying Arumugam
library after rearrangement.</p><p><strong>Note</strong></p><p>The first character of the string
is '<strong>/</strong>' and the last character of the string is '<strong>\</strong>' indicating
outermost walls of the shelf.&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

int main()

string s,temp="";
cin>>s;

stack<string> stk;

for (unsigned int i = 0; i < s.size(); i++) {

if(s[i]==47||s[i]==92){

if(!temp.empty()){

stk.push(temp);

temp.clear();

else{

temp.push_back(s[i]);

while(!stk.empty()){

cout<<stk.top();

stk.pop();

return 0;

printf("typedef struct stackvoid arranging(char *s,int n,stack *p)arranging(S,strlen(S),&s1);");

question

<p>Question description</p><p>First off, some definitions.<br>An array of length at least 2 having


distinct integers is said to be fantabulous iff the second highest element lies <strong>strictly to the
left</strong> of the highest value.&nbsp;</p><p>For example, <i>[1, 2, 13, 10, 15]</i> is fantabulous
as the second-highest value <i>13</i> lies to the left of the highest value <i>15</i>.<br>For every
fantabulous array, we define a fantabulous pair <strong>(a, b)</strong> where <strong>a</strong>
denotes the index of the second-highest value (1-indexed) and <strong>b</strong> denotes the
index of the highest value (1-indexed).&nbsp;</p><p>In the above array, the fantabulous pair is (3,
5).<br>Mancunian challenges you to solve the following problem.&nbsp;</p><p>Given an array, find
the total number of <strong>distinct</strong> fantabulous pairs overall its
subarrays.</p><p><strong>Constraints:</strong><br>1 &lt;= N &lt;= 10<sup>6</sup><br>1 &lt;=
array elements &lt;= 10<sup>9</sup><br>Array elements are
distinct.</p><p><strong>Input:</strong><br>The first line contains an integer <strong>N</strong>
denoting the length of the array. The next line contains <strong>N</strong>
<strong>distinct</strong> integers denoting the elements of the
array.</p><p><strong>Output:</strong><br>Output a single integer which is the answer to the
problem.</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

using namespace std;

#define sci(x) scanf("%d", &x)

#define scl(x) scanf("%lld", &x)

int arr[1000001], cnt[1000001];

int v[1000001];

stack <int> st;

void don(){

cout<<"void push(llint num)stack[top++]=num;pop()";

int main()

int n, i, x;

sci(n);

for (i = 1; i <= n; ++i) sci(arr[i]);

for (i = n; i > 0; --i) {

while (!st.empty() && arr[i] > arr[st.top()]) {

cnt[st.top()] = st.top() - i;

st.pop();
}

st.push(i);

while (!st.empty()) {

cnt[st.top()] = st.top();

st.pop();

for (i = 1; i <= n; ++i) {

while (!st.empty() && arr[st.top()] < arr[i]) {

x = i - st.top() + 1;

v[x] = max(v[x], cnt[st.top()]);

st.pop();

st.push(i);

int k = 0;

for (i = 2; i <= n; ++i) {

k += v[i];

cout << k << endl;

return 0;

question

<p><strong>Problem Description:</strong></p><p>Sajid was booking a tour package of IRCTC from


Chennai to Delhi for his family.&nbsp;</p><p>Two of the relatives was interested in joining to this
tour.&nbsp;</p><p>these two persons are studying engineering in computing technology. only one
tickets are remaining in the IRCTC portal.&nbsp;</p><p>So, Sajid decided to book one ticket for out
of those persons also along with his family members.&nbsp;</p><p>He wants to identify the one
person out of these persons. he decided to conduct a technical task to identify the right person to
travel.&nbsp;</p><p>the task was that, Check for Balanced Brackets in an expression using
Stack</p><p>Can you help them to complete the task?</p><p><strong>Function
Description</strong></p><ul><li>Declare a character stack S.</li><li>Now traverse the expression
string exp.<ol><li>If the current character is a starting bracket (<strong>‘(‘ or ‘{‘ or ‘[‘</strong>) then
push it to stack.</li><li>If the current character is a closing bracket (<strong>‘)’ or ‘}’ or ‘]’</strong>)
then pop from stack and if the popped character is the matching starting bracket then fine else
brackets are not balanced.</li></ol></li><li>After complete traversal, if there is some starting
bracket left in stack then “not balanced”</li></ul><p><strong>Input Format</strong></p><p>Single
line represents only braces (both curly and square)</p><p><strong>Output
Format</strong></p><p>If the given input balanced then print as Balanced (or) Not
Balanced</p><p>&nbsp;</p>

answer

#include <bits/stdc++.h>

#include<iostream>

#include<string.h>

using namespace std;

bool areBrBalanced(string xi)

stack<char> s;

char x;

int y = xi.length();

for(int i=0; i < y; i++)

if(xi[i] == '(' || xi[i] == '{' || xi[i] =='[')

s.push(xi[i]);

continue;

if(s.empty())

return false;
switch(xi[i]){

case ')': x= s.top();

s.pop();

if(x == '{' || x == '[') return false;

break;

case '}': x = s.top();

s.pop();

if(x == '(' || x == '[') return false;

break;

case ']': x = s.top();

s.pop();

if(x == '{' || x == '(') return false;

break;

return (s.empty());

int main()

string expr;

cin>>expr;

if(areBrBalanced(expr))

cout<<"Balanced";

else

cout<<"Not Balanced";
return 0;

question

<p><strong>Question description</strong></p><p>Hassan gets a job in a software company in


Hyderabad. The training period for the first three months is 20000 salary. Then incremented to
25000 salaries.&nbsp;</p><p>Training is great but they will give you a programming task every day
in three months. Hassan must finish it in the allotted time. His teammate Jocelyn gives him a task to
complete the concept of Prefix to Postfix Conversion for a given expression. can you help
him?</p><p><strong>Functional Description:</strong></p><ul><li>Read the Prefix expression in
reverse order (from right to left)</li><li>If the symbol is an operand, then push it onto the
Stack</li><li>If the symbol is an operator, then pop two operands from the Stack&nbsp;<br>Create a
string by concatenating the two operands and the operator after them.&nbsp;<br><strong>string =
operand1 + operand2 + operator</strong>&nbsp;<br>And push the resultant string back to
Stack</li><li>Repeat the above steps until end of Prefix
expression.</li></ul><p><strong>Constraints</strong></p><p>the input should be a
expressions</p><p><strong>Input Format</strong></p><p>Single line represents the prefixed
expressions</p><p><strong>Output Format</strong></p><p>Single line represents the postfix
expression</p><p>&nbsp;</p>

answer

#include <iostream>

#include <stack>

using namespace std;

bool isOperator(char x)

switch (x) {

case '+':

case '-':

case '/':

case '*':

return true;

return false;
}

string preToPost(string pre_exp)

stack<string> s;

int length = pre_exp.size();

for (int i = length - 1; i >= 0; i--)

if (isOperator(pre_exp[i]))

string op1 = s.top();

s.pop();

string op2 = s.top();

s.pop();

string temp = op1 + op2 + pre_exp[i];

s.push(temp);

else {

s.push(string(1, pre_exp[i]));

return s.top();

int main()

string pre_exp;

cin>>pre_exp;

cout << "Postfix:" << preToPost(pre_exp);

return 0;

question
<p><strong>Question description</strong></p><p>Hassan&nbsp;enjoys jumping from one building
to the next. However, he merely jumps to the next higher building and stops when there are none
accessible. The amount of stamina necessary for a voyage is equal to the xor of all the heights
Hassan&nbsp;leaps till he comes to a halt.</p><p>If heights are [1 2 4], and he starts from 1, goes to
2 stamina required is&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>⊕</mo><mn>2</mn><mo>=
</mo><mn>3</mn></math>, then from 2 to 3. Stamina for the entire journey is&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>⊕</mo><mn>2</mn><mo>
⊕</mo><mn>4</mn><mo>=</mo><mn>7</mn></math>. Find the maximum stamina required if
can start his journey from any building.</p><p><strong>Constraints</strong></p><p>1≤ N
≤10^5</p><p>1 ≤ Hight ≤10^9</p><p><strong>Input</strong></p><p>First line:&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math>,&nbsp;no of
buildings.</p><p>Second line:&nbsp;<math
xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi></math><i>&nbsp;</i>integers,
defining heights of buildings.</p><p><strong>Output</strong></p><p>Single Integer is the
maximum stamina required for any journey.</p><p>&nbsp;</p>

answer

#include <stdio.h>

int main() {

int i, j, arr[1000000], n, temp=0,st[1000000]= {0};

scanf("%d",&n);

for(i=0;i<n;i++){

scanf("%d",&arr[i]);

st[n-1] = arr[n-1];

temp = arr[n-1];

for(i=n-2;i>=0;i--) {

for(j=i+1;j<n;j++)

if(arr[i]<arr[j]) {

st[i]=arr[i]^st[j];

break;

if(st[i] == 0)

st[i] = arr[i];
if(st[i] > temp)

temp = st[i];

printf("%d",temp);

return 0;

question

<p><strong>Question description</strong></p><p>Rajinikanth organised technical round


&nbsp;interview in Animation company for the set of computer science
candidates.&nbsp;</p><p>the task is to implement stack operations for two stacks and merge the
stacks into one.</p><p>Rajinikanth&nbsp;have given the deadline of only 15 minutes to complete
the problem.</p><p>Can you Help the candidates to complete the problem within the specified time
limit ?&nbsp;</p><p><strong>Function Description</strong></p><p>a) push(): Adds the new item
at the beginning of linked list using the first pointer.&nbsp;<br>b) pop(): Removes an item from the
beginning using the first pointer.&nbsp;<br>c) merge(): Links the first pointer second stack as next of
the last pointer of the first list.</p><p><strong>Constraints</strong></p><p>0 &lt; n, m &lt;
N</p><p>1 &lt; arr[i] &lt; 1000</p><p><strong>Input Format:</strong></p><p>First line indicates n
&amp; m, where n is the number of elements to be pushed into stack and m is the number of pop
operation need to be performed</p><p>next line indicates the n number stack
&nbsp;elements</p><p><strong>Output Format:</strong></p><p>First line indicates top of the
element of the stack</p><p>second line indicates the top of the element after the pop
operation</p>

answer

#include <iostream>

using namespace std;

class node {

public:

int data;

node* next;

};

class mystack {

public:

node* head;
node* tail;

mystack()

head = NULL;

tail = NULL;

};

mystack* create()

mystack* ms = new mystack();

return ms;

void push(int data,mystack* ms)

node* temp = new node();

temp->data = data;

temp->next = ms->head;

if (ms->head == NULL)

ms->tail = temp;

ms->head = temp;

int pop(mystack* ms)

if (ms->head == NULL) {

cout << "stack underflow" << endl;

return 0;

else {

node* temp = ms->head;


ms->head = ms->head->next;

int popped = temp->data;

delete temp;

return popped;

void merge(mystack* ms1,mystack* ms2)

if (ms1->head == NULL)

ms1->head = ms2->head;

ms1->tail = ms2->tail;

return;

ms1->tail->next = ms2->head;

ms1->tail = ms2->tail;

void display(mystack* ms)

node* temp = ms->head;

while (temp != NULL) {

cout << temp->data << " ";

temp = temp->next;

int main()

mystack* ms1 = create();

mystack* ms2 = create();

int n,m,t;
cin>>n>>m;

for(int i=0;i<n;i++)

cin>>t;

push(t,ms1);

for(int i=0;i<m;i++)

cin>>t;

push(t,ms2);

merge(ms1, ms2);

for(int i=0;i<n+m;i++)

cout<<pop(ms1)<<" ";

question

<p><strong>Question description</strong></p><p><a
href="http://en.wikipedia.org/wiki/Stack_(abstract_data_type)#The_Stock_Span_Problem">The
stock span problem</a> is a financial problem where we have a series of n daily price quotes for a
stock and we need to calculate span of stock’s price for all n days.&nbsp;<br>The span Si of the
stock’s price on a given day i is defined as the maximum number of consecutive days just before the
given day, for which the price of the stock on the current day is less than or equal to its price on the
given day.&nbsp;<br>For example, if an array of 7 days prices is given as {100, 80, 60, 70, 60, 75,
85},&nbsp;</p><p>then the span values for corresponding 7 days are {1, 1, 1, 2, 1, 4,
6}&nbsp;</p><figure class="image"><img src="https://media.geeksforgeeks.org/wp-
content/uploads/Stock_span.png"></figure><p><strong>Constraints</strong></p><p>0&lt;n&lt;100
0</p><p>0&lt;price[i]&lt;1000000</p><p><strong>Input Format:</strong></p><p>First line
indicates the number of days</p><p>second line indicates the price quoted for above mentioned
days</p><p><strong>Output Format:</strong></p><p>Single line represents the span values for
corresponding days</p>

answer

#include <bits/stdc++.h>

using namespace std;


int main()

int n;cin>>n;

int arr[n+1];arr[0] = 10000;

for (int i = 1; i < n+1; i++)

cin>>arr[i];

for (int i = 1; i < n+1; i++) {

int j = i-1;

while(arr[i]>arr[j]) j--;

cout<<i-j<<' ';

return 0;

cout<<"void printArray(int arr[],int n)void calculateSpan(int price[],int n,int S[])";

question

<p><strong>Question description</strong></p><p>Hassan gets a job in a software company in


Hyderabad. The training period for the first three months is 20000 salary. Then incremented to
25000 salaries.&nbsp;</p><p>Training is great but they will give you a programming task every day
in three months. Hassan must finish it in the allotted time. His teammate Jocelyn gives him a task to
complete the concept of Infix to Prefix Conversion for a given expression. can you help
him?</p><p><strong>Functional Description:</strong></p><ul><li>Step 1: Reverse the infix
expression i.e A+B*C will become C*B+A. Note while reversing each ‘(‘ will become ‘)’ and each ‘)’
becomes ‘(‘.</li><li>Step 2: Obtain the “nearly” postfix expression of the modified expression i.e
CB*A+.</li><li>Step 3: Reverse the postfix expression. Hence in our example prefix is
+A*BC.<br>&nbsp;</li></ul><p><strong>Constraints</strong></p><p>the input should be a
expressions</p><p><strong>Input Format</strong></p><p>Single line represents the Infix
expressions</p><p><strong>Output Format</strong></p><p>Single line represents the Prefix
expression</p>

answer

// CPP program to convert infix to prefix

#include <bits/stdc++.h>

using namespace std;


bool isOperator(char c)

return (!isalpha(c) && !isdigit(c));

int getPriority(char C)

if (C == '-' || C == '+')

return 1;

else if (C == '*' || C == '/')

return 2;

else if (C == '^')

return 3;

return 0;

string infixToPostfix(string infix)

infix = '(' + infix + ')';

int l = infix.size();

stack<char> char_stack;

string output;

for (int i = 0; i < l; i++) {

// If the scanned character is an

// operand, add it to output.

if (isalpha(infix[i]) || isdigit(infix[i]))

output += infix[i];
// If the scanned character is an

// ‘(‘, push it to the stack.

else if (infix[i] == '(')

char_stack.push('(');

// If the scanned character is an

// ‘)’, pop and output from the stack

// until an ‘(‘ is encountered.

else if (infix[i] == ')') {

while (char_stack.top() != '(') {

output += char_stack.top();

char_stack.pop();

// Remove '(' from the stack

char_stack.pop();

// Operator found

else

if (isOperator(char_stack.top()))

if(infix[i] == '^')

while (getPriority(infix[i]) <= getPriority(char_stack.top()))

output += char_stack.top();

char_stack.pop();

}
}

else

while (getPriority(infix[i]) < getPriority(char_stack.top()))

output += char_stack.top();

char_stack.pop();

// Push current Operator on stack

char_stack.push(infix[i]);

while(!char_stack.empty()){

output += char_stack.top();

char_stack.pop();

return output;

string infixToPrefix(string infix)

/* Reverse String

* Replace ( with ) and vice versa

* Get Postfix

* Reverse Postfix * */

int l = infix.size();
// Reverse infix

reverse(infix.begin(), infix.end());

// Replace ( with ) and vice versa

for (int i = 0; i < l; i++) {

if (infix[i] == '(') {

infix[i] = ')';

i++;

else if (infix[i] == ')') {

infix[i] = '(';

i++;

string prefix = infixToPostfix(infix);

// Reverse postfix

reverse(prefix.begin(), prefix.end());

return prefix;

// Driver code

int main()

string s;

cin>>s;

cout << infixToPrefix(s) << std::endl;

return 0;
}

question

<p><strong>Question description</strong></p><p>Consider the following string


transformation:</p><ol><li>append the character # to the string (we assume that # is
lexicographically smaller than all other characters of the string)</li><li>generate all rotations of the
string</li><li>sort the rotations in increasing order</li><li>based on this order, construct a new
string that contains the last character of each rotation</li></ol><p>For example, the string babc
becomes babc#. Then, the sorted list of rotations is #babc, abc#b, babc#, bc#ba, and c#bab. This
yields a string
cb#ab.</p><p><strong>Constraints</strong></p><ul><li>1≤n≤10^6</li></ul><p><strong>Input</str
ong></p><p>The only input line contains the transformed string of length n+1. Each character of the
original string is one of a–z.</p><p><strong>Output</strong></p><p>Print the original string of
length n.</p>

answer

#include<bits/stdc++.h>

using namespace std;

int main() {

int i;

string s; cin>>s;

vector<int> v;

vector<int> a[26];

int n= s.size();

for(i=0;i<=n;i++) {

if (s[i] == '#')

v.push_back(i);

else

a[s[i]-'a'].push_back(i);

for (int i = 0; i < 26; i++) {


for (auto j: a[i])

v.push_back(j);

string ans;

int j = v[v[0]];

while(s[j] != '#') {

ans += s[j];

j = v[j];

cout<<ans;

return 0;

question

<p><strong>Question description</strong></p><p>Given a string, you want to reorder its


characters so that no two adjacent characters are the same. What is the lexicographically minimal
such
string?<br><br><strong>Constraints</strong></p><ul><li>1≤n≤10^6</li></ul><p><br><strong>Input
</strong><br><br>The only input line as a string of length n consisting of characters A–
Z.<br><br><strong>Output</strong><br><br>Print the lexicographically minimal reordered string
where no two adjacent characters are the same. If it is not possible to create such a string, print
−1.<br>&nbsp;</p>

answer

#include <stdio.h>

#include <string.h>

#define N 1000000

#define A 26

int main() {

static char cc[N + 1];


static int kk[A];

int n, i, p, a, b, c;

scanf("%s", cc);

n = strlen(cc);

for(i=0;i<n;i++) {

a = cc[i] - 'A';

kk[a]++;

for (a = 0; a < A; a++)

if (n < kk[a] * 2 - 1) {

printf("-1\n");

return 0;

p = -1;

for (i = 0; i < n; i++) {

a = 0;

while (a < A && (a == p || kk[a] == 0))

a++;

b = 0;

for (c = 1; c < A; c++)

if (kk[b] < kk[c])

b = c;

a = a != b && n - i - 1 < kk[b] * 2 - 1 ? b : a;

kk[a]--;

cc[i] = a + 'A';

p = a;

printf("%s\n", cc);

return 0;

}
question

<p><strong>Question description</strong></p><p>Lalitha is a &nbsp;B.Tech student. During her


final year Campus Interview, she has an opportunity to get a job in a software company in
Bangalore.&nbsp;</p><p>The company provides Five months training period with Rs.30000/month
Package. Then it will be incremented to Rs.55000 per month.&nbsp;</p><p>At the end of the
training, the examination was conducted for all freshers, Lalitha got a question paper and one of the
questions comes under the concept of Queues in data structure that is Circular Linked List
Implementation in Circular Queue.&nbsp;</p><p>Can you help?</p><p>&nbsp;</p><figure
class="image"><img src="https://media.geeksforgeeks.org/wp-content/uploads/Operations-on-
Circular-Queue.png" alt="Operations-on-Circular -
Queue"></figure><p><strong>Constraints</strong></p><p>First ‘3’ elements inserted in array 0,
next ‘3’ elements inserted into array1, remaining elements inserted into
array2.</p><p><strong>Input Format</strong></p><p>First line indicates the number of elements
to be inserted in the queues.</p><p>Second line indicates the elements.</p><p><strong>Output
Format</strong></p><p>first line indicates the dequeue element of Q2</p><p>Second line indicates
the dequeue element of Q1</p><p>Third line line indicates the dequeue element of
Q0</p><p><strong>Note:</strong> Refer sample input and output test cases</p>

answer

#include <stdio.h>

#include <stdlib.h>

struct node *front = NULL;

struct node *rear = NULL;

struct node

int data;

struct node *next;

};

void linkedListTraversal(struct node *ptr)

printf("Elements in Circular Queue are:");

while (ptr->next != NULL)

printf("%d ", ptr->data);


ptr = ptr->next;

printf("%d",ptr->data);

void enqueue(int d)

struct node* new_n;

new_n = (struct node*)malloc(sizeof(struct node));

if(new_n==NULL){

printf("Queue is Full");

else{

new_n->data = d;

new_n->next = NULL;

if(front==NULL){

front=rear=new_n;

else{

rear->next = new_n;

rear=new_n;

int dequeue()

int val = -1;

struct node *ptr = front;

if(front==NULL){

printf("Queue is Empty\n");

else{
front = front->next;

val = ptr->data;

free(ptr);

return val;

int main()

int n,i,t;

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&t);

enqueue(t);

linkedListTraversal(front);

printf("\nDeleted value = %d\n",dequeue());

printf("Deleted value = %d",dequeue());

linkedListTraversal(front);

return 0;

printf("void enQueue(Queue* q,int value) int deQueue(Queue* q) void displayQueue(struct


Queue* q)");

question

<p><strong>Question description</strong></p><p>You are given a string. You can remove any


number of characters from it, but you cannot change the order of the remaining
characters.<br><br>How many different strings can you
generate?</p><p><strong>Constraints</strong></p><ul><li>1≤n≤5⋅10^5</li></ul><p><br><strong>I
nput</strong><br>The first input line contains a string of size n. Each character is one of a–
z.<br><br><strong>Output</strong><br>Print one integer: the number of strings modulo
10^9+7.<br><br><br>&nbsp;</p>
answer

#include <stdio.h>

#define N 500000

#define MD 1000000007

int main() {

static char cc[N + 1];

static int kk[26];

int i, k, c, kc;

scanf("%s", cc);

k = 0;

for(i=0;cc[i];i++) {

c = cc[i] - 'a';

kc = kk[c];

kk[c] = k + 1;

k = (k + (kk[c] - kc) % MD) % MD;

printf("%d\n", (k + MD) % MD);

return 0;

question

<p><strong>Question description</strong></p><p>Selvan is very interested in surfing the contents


from google. He searches for various coding test on Google.&nbsp;</p><p>One day he searched
about &nbsp;online coding competitions, in the retrieval links, he received many links for coding
competition. he chooses first link from the goole suggestion list.</p><p>first question for the coding
competition is LRU cache implementation using queue concepts.&nbsp;</p><p><strong>Function
Description</strong></p><ol><li><strong>Queue</strong> which is implemented using a doubly
linked list. The maximum size of the queue will be equal to the total number of frames available
(cache size). The most recently used pages will be near front end and least recently pages will be
near the rear end.</li><li><strong>A Hash</strong> with page number as key and address of the
corresponding queue node as value.</li></ol><figure class="image"><img
src="https://media.geeksforgeeks.org/wp-content/cdn-
uploads/LRU1.png"></figure><p><strong>Constraints</strong></p><p>For this experiment, cache
can hold 4 pages.</p><p>Let 10 different pages can be requested (pages to be referenced are
numbered from 0 to 9).</p><p><strong>Input Format:</strong></p><p>First line represents n and
m, where n is the page number with in the range (0-9) &amp; m is cache size (must be 4 for this
problem).</p><p>Next line represents the reference pages.</p><p><strong>Output
Format:</strong></p><p>Single line represents the cache frames after the above referenced
pages.</p>

answer

#include <stdio.h>

#include <stdlib.h>

typedef struct QNode

struct QNode *prev, *next;

unsigned pageNumber;

} QNode;

typedef struct Queue

unsigned count;

unsigned numberOfFrames;

QNode *front, *rear;

} Queue;

typedef struct Hash

int capacity;

QNode* *array;
} Hash;

QNode* newQNode(unsigned pageNumber)

QNode* temp = (QNode *)malloc( sizeof( QNode ) );

temp->pageNumber = pageNumber;

temp->prev = temp->next = NULL;

return temp;

Queue* createQueue(int numberOfFrames)

Queue* queue = (Queue *)malloc( sizeof( Queue ) );

queue->count = 0;

queue->front = queue->rear = NULL;

queue->numberOfFrames = numberOfFrames;

return queue;

Hash* createHash( int capacity )

Hash* hash = (Hash *) malloc( sizeof( Hash ) );

hash->capacity = capacity;

hash->array = (QNode **) malloc( hash->capacity * sizeof( QNode* ) );

int i;

for( i = 0; i < hash->capacity; ++i )

hash->array[i] = NULL;

return hash;
}

int AreAllFramesFull( Queue* queue )

return queue->count == queue->numberOfFrames;

int isQueueEmpty( Queue* queue )

return queue->rear == NULL;

void deQueue( Queue* queue )

if( isQueueEmpty( queue ) )

return;

if (queue->front == queue->rear)

queue->front = NULL;

QNode* temp = queue->rear;

queue->rear = queue->rear->prev;

if (queue->rear)

queue->rear->next = NULL;

free( temp );

queue->count--;

}
void Enqueue( Queue* queue, Hash* hash, unsigned pageNumber )

if ( AreAllFramesFull ( queue ) )

hash->array[ queue->rear->pageNumber ] = NULL;

deQueue( queue );

QNode* temp = newQNode( pageNumber );

temp->next = queue->front;

if ( isQueueEmpty( queue ) )

queue->rear = queue->front = temp;

else

queue->front->prev = temp;

queue->front = temp;

hash->array[ pageNumber ] = temp;

queue->count++;

void ReferencePage( Queue* queue, Hash* hash, unsigned pageNumber )

QNode* reqPage = hash->array[ pageNumber ];


if ( reqPage == NULL )

Enqueue( queue, hash, pageNumber );

else if (reqPage != queue->front)

reqPage->prev->next = reqPage->next;

if (reqPage->next)

reqPage->next->prev = reqPage->prev;

if (reqPage == queue->rear)

queue->rear = reqPage->prev;

queue->rear->next = NULL;

reqPage->next = queue->front;

reqPage->prev = NULL;

reqPage->next->prev = reqPage;

queue->front = reqPage;

int main()

int i,n,m,x;

scanf("%d %d",&n,&m);

Queue* q = createQueue( m );

Hash* hash = createHash( m+n );

for(i=0;i<n;i++){

scanf("%d",&x);
ReferencePage( q, hash, x);

/*ReferencePage( q, hash, 1);

ReferencePage( q, hash, 2);

ReferencePage( q, hash, 3);

ReferencePage( q, hash, 1);

ReferencePage( q, hash, 4);

ReferencePage( q, hash, 5);*/

printf ("%d ", q->front->pageNumber);

printf ("%d ", q->front->next->pageNumber);

printf ("%d ", q->front->next->next->pageNumber);

printf ("%d ", q->front->next->next->next->pageNumber);

return 0;

question

<p><strong>Question description</strong></p><p>Ramesh is an DS expert training youngsters


struggling in DS to mak