#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int maxIncreasingPairs(vector<int>& ratings) {
int n = ratings.size();
sort(ratings.begin(), ratings.end());
vector<int> result(n);
int mid = (n + 1) / 2;
int j = 0;
// Place the smaller half elements at even indices
for (int i = 0; i < n; i += 2) {
result[i] = ratings[j++];
}
// Place the larger half elements at odd indices
for (int i = 1; i < n; i += 2) {
result[i] = ratings[j++];
}
// Count indices i where result[i] < result[i+1]
int count = 0;
for (int i = 0; i < n - 1; ++i) {
if (result[i] < result[i + 1]) {
count++;
}
}
// Optional: print the rearranged array
cout << "Rearranged: ";
for (int x : result) cout << x << " ";
cout << endl;
return count;
}
int main() {
// Example 1
vector<int> ratings1 = {2, 3, 1, 5, 4};
cout << "Output: " << maxIncreasingPairs(ratings1) << endl;
// Example 2
vector<int> ratings2 = {2, 1, 1, 2};
cout << "Output: " << maxIncreasingPairs(ratings2) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1heEluY3JlYXNpbmdQYWlycyh2ZWN0b3I8aW50PiYgcmF0aW5ncykgewogICAgaW50IG4gPSByYXRpbmdzLnNpemUoKTsKICAgIHNvcnQocmF0aW5ncy5iZWdpbigpLCByYXRpbmdzLmVuZCgpKTsKCiAgICB2ZWN0b3I8aW50PiByZXN1bHQobik7CiAgICBpbnQgbWlkID0gKG4gKyAxKSAvIDI7CiAgICBpbnQgaiA9IDA7CgogICAgLy8gUGxhY2UgdGhlIHNtYWxsZXIgaGFsZiBlbGVtZW50cyBhdCBldmVuIGluZGljZXMKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSArPSAyKSB7CiAgICAgICAgcmVzdWx0W2ldID0gcmF0aW5nc1tqKytdOwogICAgfQoKICAgIC8vIFBsYWNlIHRoZSBsYXJnZXIgaGFsZiBlbGVtZW50cyBhdCBvZGQgaW5kaWNlcwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpICs9IDIpIHsKICAgICAgICByZXN1bHRbaV0gPSByYXRpbmdzW2orK107CiAgICB9CgogICAgLy8gQ291bnQgaW5kaWNlcyBpIHdoZXJlIHJlc3VsdFtpXSA8IHJlc3VsdFtpKzFdCiAgICBpbnQgY291bnQgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC0gMTsgKytpKSB7CiAgICAgICAgaWYgKHJlc3VsdFtpXSA8IHJlc3VsdFtpICsgMV0pIHsKICAgICAgICAgICAgY291bnQrKzsKICAgICAgICB9CiAgICB9CgogICAgLy8gT3B0aW9uYWw6IHByaW50IHRoZSByZWFycmFuZ2VkIGFycmF5CiAgICBjb3V0IDw8ICJSZWFycmFuZ2VkOiAiOwogICAgZm9yIChpbnQgeCA6IHJlc3VsdCkgY291dCA8PCB4IDw8ICIgIjsKICAgIGNvdXQgPDwgZW5kbDsKCiAgICByZXR1cm4gY291bnQ7Cn0KCmludCBtYWluKCkgewogICAgLy8gRXhhbXBsZSAxCiAgICB2ZWN0b3I8aW50PiByYXRpbmdzMSA9IHsyLCAzLCAxLCA1LCA0fTsKICAgIGNvdXQgPDwgIk91dHB1dDogIiA8PCBtYXhJbmNyZWFzaW5nUGFpcnMocmF0aW5nczEpIDw8IGVuZGw7CgogICAgLy8gRXhhbXBsZSAyCiAgICB2ZWN0b3I8aW50PiByYXRpbmdzMiA9IHsyLCAxLCAxLCAyfTsKICAgIGNvdXQgPDwgIk91dHB1dDogIiA8PCBtYXhJbmNyZWFzaW5nUGFpcnMocmF0aW5nczIpIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K
MTAKYWJhCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtz
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks