bogdanNiculeasa

niceset

Mar 7th, 2022
1,130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin("niceset.in");
  7. ofstream fout("niceset.out");
  8.  
  9. int main()
  10. {
  11.     int n, s;
  12.     fin >> n >> s;
  13.     int numbers[n];
  14.     for ( int i =0; i < n; i++) {
  15.         fin >> numbers[i];
  16.     }
  17.  
  18.     // sort the numbers
  19.     for (int i = 0; i < n; i++) {
  20.         for (int j =0; j < n-1; j++) {
  21.             if (numbers[j] > numbers[j+1]) {
  22.                 int temp = numbers[j];
  23.                 numbers[j] = numbers[j+1];
  24.                 numbers[j+1] = temp;
  25.             }
  26.         }
  27.     }
  28.  
  29.  
  30.     if (numbers[0] > s) {
  31.         fout << 0;
  32.         return 0;
  33.     }
  34.  
  35.     int sumOfAcceptedPairs = 0;
  36.     int largestSetCount = 0;
  37.     //Iterate through the numbers
  38.     for (int i =0; i < n; i++) {
  39.         // Generate the pair and test their sum against S
  40.         for (int j =0; j < n; j++) {
  41.             for (int k = j + 1; k < n; k++) {
  42.                 // We skip pairs like 1-1, 2-2, x-x, etc
  43.                 if (k != j) {
  44.                     cout << numbers[j] << "-" << numbers[k] << endl;
  45.                     sumOfAcceptedPairs += abs(numbers[k] - numbers[j]);
  46.                     if (sumOfAcceptedPairs <= s) {
  47.                         largestSetCount = k;
  48.                     } else {
  49.                         break;
  50.                     }
  51.                 }
  52.             }
  53.             // At this point we have generated all the pairs
  54.             if (j == n - 1) {
  55.                 if (sumOfAcceptedPairs <= s) {
  56.                     largestSetCount = n;
  57.                     break;
  58.                 }
  59.             }
  60.         }
  61.     }
  62.  
  63.     fout << largestSetCount;
  64.  
  65.     return 0;
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment