Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("niceset.in");
- ofstream fout("niceset.out");
- int main()
- {
- int n, s;
- fin >> n >> s;
- int numbers[n];
- for ( int i =0; i < n; i++) {
- fin >> numbers[i];
- }
- // sort the numbers
- for (int i = 0; i < n; i++) {
- for (int j =0; j < n-1; j++) {
- if (numbers[j] > numbers[j+1]) {
- int temp = numbers[j];
- numbers[j] = numbers[j+1];
- numbers[j+1] = temp;
- }
- }
- }
- if (numbers[0] > s) {
- fout << 0;
- return 0;
- }
- int sumOfAcceptedPairs = 0;
- int largestSetCount = 0;
- //Iterate through the numbers
- for (int i =0; i < n; i++) {
- // Generate the pair and test their sum against S
- for (int j =0; j < n; j++) {
- for (int k = j + 1; k < n; k++) {
- // We skip pairs like 1-1, 2-2, x-x, etc
- if (k != j) {
- cout << numbers[j] << "-" << numbers[k] << endl;
- sumOfAcceptedPairs += abs(numbers[k] - numbers[j]);
- if (sumOfAcceptedPairs <= s) {
- largestSetCount = k;
- } else {
- break;
- }
- }
- }
- // At this point we have generated all the pairs
- if (j == n - 1) {
- if (sumOfAcceptedPairs <= s) {
- largestSetCount = n;
- break;
- }
- }
- }
- }
- fout << largestSetCount;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment