0% found this document useful (0 votes)
16 views5 pages

2023 CTS Elevate Paper 7

Uploaded by

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

2023 CTS Elevate Paper 7

Uploaded by

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

Q1.

I say an array

#include<stdio.h>
#include<stdlib.h>

typedef long long llint;


#define gcx getchar_unlocked
#define pcx putchar_unlocked

llint stack[1000001], top = 0;


llint pops[1000001] = {0}, res[1000001] = {0};

void push(llint num)


{
stack[top++] = num;
}

llint pop()
{
llint z = stack[top-1];
top--;
return z;
}

llint stk_top()
{
return stack[top-1];
}

int is_empty()
{
return top == 0;
}

llint get_int()
{
int c = gcx();
llint num = 0;
while(c >= '0' && c <= '9')
{
num = num*10 + c - '0';
c = gcx();
}
return num;
}

void print(llint num)


{
if(num == 0)
{
pcx('0'); pcx('\n'); return;
}

char str[30];
int len = 0;
while(num)
{
str[len++] = '0' + num % 10;
num/=10;
}

while(len--)
{
pcx(str[len]);
}
pcx('\n');
}

int main()
{
llint size = get_int();
// scanf("%lld", &size);1
llint arr[1000001];
llint pairs = 0;

for(llint i = 0; i < size; i++)


{
arr[i] = get_int();
// scanf("%lld", &arr[i]);
while( !is_empty() && arr[i] > arr[stk_top()])
{
llint a = i - stk_top();
pairs = 1 + pops[stk_top()];
if(res[a] < pairs)
{
res[a] = pairs;
}
pops[i] = 1 + pops[stk_top()] + pops[i];
pop();
pairs = 0;
}
push(i);
}

llint sum = 0;
for(llint i = 0; i < size; i++)
{
sum = sum + res[i];
}
print(sum);
return 0;
}
Q2. employee details.

select *, DATEDIFF('2019-12-15', Hiredate)as DiffDay


from employees_ts where DATEDIFF('2019-12-15', Hiredate) < 60 order by Hiredate
asc;

Q3. Ball Badminton

#include <bits/stdc++.h>
#define INF 1000 * 1000 * 1000
using namespace std;
int T , n , l[55] , b[55] , v[55] , c[55];
double get(double t)
{
double ans = 0;
for(int i = 0; i < n; i++)
{
double wher = c[i] - (v[i] * t + b[i]);
ans += wher * wher;
}
return sqrt(ans) / t;
}
int main()
{
ios_base::sync_with_stdio(0);
cin >> n;
for(int i = 0; i < n; i++)
cin >> l[i];
for(int i = 0; i < n; i++)
cin >> b[i];
for(int i = 0; i < n; i++)
cin >> v[i];
for(int i = 0; i < n; i++)
cin >> c[i];
double R = INF;
for(int i = 0; i < n; i++)
{
if(v[i] > 0)
R = min(R , (l[i] - b[i]) / (1.0 * v[i]));
else
if(v[i] < 0)
R = min(R , -b[i] / (1.0 * v[i]));

double ans = get(R);

double chisel = 0;
double znam = 0;
for(int i = 0; i < n; i++)
{
chisel += (b[i] - c[i]) * (b[i] - c[i]);
znam += v[i] * (c[i] - b[i]);
}

if(chisel / znam >= 0 && chisel / znam <= R)


{
ans = min(ans , get(chisel / znam));
}
if(chisel < 1e-5)
ans = 0;
cout << fixed << setprecision(10) << ans << endl;
}

Q4. Write a query

SELECT CASE
WHEN SIDEA+SIDEB <= SIDEC or SIDEA+SIDEC <= SIDEB or SIDEB+SIDEC <= SIDEA THEN 'Not
A Triangle'
WHEN SIDEA=SIDEB AND SIDEB=SIDEC THEN 'Equilateral'
WHEN SIDEA=SIDEB OR SIDEA=SIDEC OR SIDEB=SIDEC THEN 'Isosceles'
WHEN SIDEA <> SIDEB AND SIDEB <> SIDEC THEN 'Scalene'
END AS TRIANGLE_TYPES
FROM TRIANGLES;
Q5. Given a K*K matrix

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

int main(){
int n; cin>>n; int mat[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++) cin>>mat[i][j];
}
int dp[n+1][n+1];
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(i==0 or j==0){
dp[i][j]=0;
}
else dp[i][j]=max(dp[i-1][j],max(dp[i-1][j+1],dp[i-1][j-1]))+mat[i-
1][j-1];
}
}
int maxi=INT_MIN;
for(int i=0;i<=n;i++) maxi=max(dp[n][i],maxi);
cout<<maxi<<endl;
return 0;
}

You might also like