Search This Blog
HackerRank Solutions provides solutions to all problems like Algorithms, Data Structures, C, C++, Python, Java, Interview Preparation Kit in Hackerrank
Featured
- Get link
- X
- Other Apps
Variable Sized Arrays in C++ – Solution in Hacker Rank - hackerranksolutions8
Problem
Consider an n-element array, a, where each index i in the array contains a reference to an array of ki integers (where the value of ki varies from array to array). See the Explanation section below for a diagram.
Given a, you must answer q queries. Each query is in the format i j, where i denotes an index in array a and j denotes an index in the array located at a[i] For each query, find and print the value of element j in the array at location a[i] on a new line.
Click here to know more about how to create variable sized arrays in C++.
Input Format
The first line contains two space-separated integers denoting the respective values of n (the number of variable-length arrays) and q (the number of queries).Each line i of the n subsequent lines contains a space-separated sequence in the format k a[i]0 a[i]1 … a[i]k-1 describing the k-element array located at a[i].
Each of the q subsequent lines contains two space-separated integers describing the respective values of i (an index in array a) and j (an index in the array referenced by a[i] for a query.
Constraints
- 1<=n<=10^5
- 1<=q<=10^5
- 1<=k<=3.10^5
- n<=k<=3.10^5
- 0<=i<n
- 0<=j<k
- All indices in this challenge are zero-based.
- All the given numbers are non negative and are not greater than 10^6
Output Format
For each pair of i and j values (i.e., for each query), print a single integer denoting the element located at index j of the array referenced by a[i]. There should be a total of q lines of output.
Sample Input :
2 2 3 1 5 4 5 1 2 8 9 3 0 1 1 3
Sample Output :
5 9
Explanation :
The diagram below depicts our assembled Sample Input:
- Find the array located at index i =0 , which corresponds to a[0] = [1,5,4]. We must print the value at index j=1 of this array which, as you can see, is 5.
- Find the array located at index i=1, which corresponds to a[1]=[1,2,8,9,3]. We must print the value at index j = 3 of this array which, as you can see, is 9.
Solution :-
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#define MAX 1000
using namespace std;
int main()
{
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int arr1[MAX][MAX],size[MAX];
int n,q,s,pos1,pos2;
cout<<"Enter a Number of Array";
cin>>n>>q;
for(int i=0;i<n;i++)
{
cout<<"Enter a size of array";
cin>>s;
for(int j=0;j<s;j++)
{
cin>>arr1[i][j];
}
}
for(int i=0;i<q;i++)
{
cout<<"Enter a position";
cin>>pos1>>pos2;
cout<<arr1[pos1][pos2]<<"\n";
}
return 0;
}
Popular Posts
say hello world with C++ - Solution in Hacker Rank - hackerranksolutions8
- Get link
- X
- Other Apps
Comments
Post a Comment