#include <string> #include <vector> #include <algorithm> #include <sstream> #include <queue> #include <deque> #include <bitset> #include <iterator> #include <list> #include <stack> #include <map> #include <set> #include <functional> #include <numeric> #include <utility> #include <climits> #include <iomanip> #include <unordered_map> #include <time.h> #include <math.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <assert.h> #include<iostream> using namespace std; #define ll long long void fnc(vector<int>v,int k) { int fg=0; sort(v.begin(),v.end()); set<vector<int>>st; for(int a=0;a<v.size();a++) { for(int b=a+1;b<v.size();b++) { int sum=v[a]+v[b]; for(int i=b+1,j=v.size()-1;i<j && sum<=k;) { if(sum+v[i]+v[j]==k) {fg=1; vector<int> t={v[a],v[b],v[i],v[j]}; if(st.find(t)==st.end()) {cout<<v[a]<<" "<<v[b]<<" "<<v[i]<<" "<<v[j]<<" $";} st.insert(t); i++;j--; } else if(sum+v[i]+v[j]<k) {i++;} else j--; } } } if(fg==0) cout<<"-1"; } int main() {int t,m,k; //string s; cin>>t; while(t--) { cin>>m>>k; //cin>>s; vector<int>v(m); for(int i=0;i<m;i++) cin>>v[i]; //cout<<fnc(v)<<endl; fnc(v,k); cout<<endl; } return 0; }
Problem Description
Given an array A of size N, find all combination of four elements in the array whose sum is equal to a given value K. For example, if the given array is {10, 2, 3, 4, 5, 9, 7, 8} and K = 23, one of the quadruple is 3 5 7 8 (3 + 5 + 7 + 8 = 23).Input:
The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains two lines. The first line of input contains two integers N and K. Then in the next line are N space separated values of the array.
Output:
For each test case in a new line print all the quadruples present in the array separated by space which sums up to value of K. Each quadruple is unique which are separated by a delimeter “$” and are in increasing order.
Constraints:
1<=T<=100
1<=N<=100
-1000<=K<=1000
-100<=A[]<=100
Test Case 1
Input (stdin)
2 5 3 0 0 2 1 1 7 23 10 2 3 4 5 7 8
Expected Output
0 0 1 2 $ 2 3 8 10 $2 4 7 10 $3 5 7 8 $
Test Case 2
Input (stdin)
1 5 3 0 0 2 1 1
Expected Output
0 0 1 2 $
bro output is correct but evaluation is 0%
ReplyDelete