fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. map<int, int>Map;
  5.  
  6. void subsetSum(int arr[], int n, int kvalue)
  7. {
  8. for(int i=0; i<n; i++)
  9. {
  10. //Map[arr[i]]++;
  11. if(Map.count(kvalue-arr[i]))
  12. {
  13. cout<<arr[i]<<" "<<kvalue-arr[i]<<"\n";
  14. }
  15. }
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21. int n, x, y, sum;
  22. int arr[100];
  23.  
  24. cin>>n>>sum;
  25. for(int i=0; i<n; i++)
  26. {
  27. cin>>arr[i];
  28. Map[arr[i]]++;
  29. }
  30. subsetSum(arr, n, sum);
  31.  
  32. return 0;
  33. }
  34.  
  35.  
  36.  
  37.  
  38.  
  39. /*
  40.   #include<bits/stdc++.h>
  41.   using namespace std;
  42.  
  43.   map<int, int>Map;
  44.  
  45.   void subsetSum(int arr[], int n, int kvalue)
  46.   {
  47.   int cnt = 0;
  48.   for(int i=0; i<n; i++)
  49.   {
  50.   Map[arr[i]]++;
  51.   if(Map.count(kvalue-arr[i]))
  52.   {
  53.   // cout<<arr[i]<<" "<<kvalue-arr[i]<<"\n";
  54.   cnt++;
  55.   }
  56.   }
  57.   cout<<cnt<<endl;
  58.   }
  59.  
  60.  
  61.   int main()
  62.   {
  63.   int tc, n, x, y, sum;
  64.  
  65.   cin>>tc;
  66.   while(tc--)
  67.   {
  68.   cin>>n>>sum;
  69.   int *arr = new int[n];
  70.   for(int i=0; i<n; i++)
  71.   {
  72.   cin>>arr[i];
  73.   // Map[arr[i]]++;
  74.   }
  75.   subsetSum(arr, n, sum);
  76.   free(arr);
  77.   }
  78.   return 0;
  79.   }
  80.   */
Success #stdin #stdout 0s 15240KB
stdin
6 6
3 4 5 1 4 2
stdout
3 3
4 2
5 1
1 5
4 2
2 4