#include<bits/stdc++.h>
#include<vector>
using namespace std;
void sort(vector<int> arr) {
int n = arr.size();
int low = 0;
int mid = 0;
int high = n-1;
while(low <= high) {
if(arr[mid]==0) {
swap(arr[low], arr[mid]);
low++;
mid++;
} else if(arr[mid]==1) {
mid++;
} else {
swap(arr[mid], arr[high]);
high--;
}
// switch(arr[mid]) {
// case 0:
// swap(arr[low], arr[mid]);
// low++;
// mid++;
// break;
// case 1:
// mid++;
// break;
// case 2:
// swap(arr[mid], arr[high]);
// high--;
// break;
// }
}
}
int main() {
vector<int> arr = {0, 1, 2, 2, 1, 0, 0, 2, 0, 1, 1, 0};
sort(arr);
for(int num: arr) {
cout<<num<<" ";
}
cout<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzb3J0KHZlY3RvcjxpbnQ+IGFycikgewogICAgCiAgICBpbnQgbiA9IGFyci5zaXplKCk7CiAgICAKICAgIGludCBsb3cgPSAwOwogICAgCiAgICBpbnQgbWlkID0gMDsKICAgIAogICAgaW50IGhpZ2ggPSBuLTE7CiAgICAKICAgIHdoaWxlKGxvdyA8PSBoaWdoKSB7CiAgICAgICAgCiAgICAgICAgaWYoYXJyW21pZF09PTApIHsKICAgICAgICAgICAgc3dhcChhcnJbbG93XSwgYXJyW21pZF0pOwogICAgICAgICAgICBsb3crKzsKICAgICAgICAgICAgbWlkKys7CiAgICAgICAgfSBlbHNlIGlmKGFyclttaWRdPT0xKSB7CiAgICAgICAgICAgIG1pZCsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN3YXAoYXJyW21pZF0sIGFycltoaWdoXSk7CiAgICAgICAgICAgIGhpZ2gtLTsgICAKICAgICAgICB9CiAgICAgICAgLy8gc3dpdGNoKGFyclttaWRdKSB7CiAgICAgICAgLy8gICAgIGNhc2UgMDoKICAgICAgICAvLyAgICAgICAgIHN3YXAoYXJyW2xvd10sIGFyclttaWRdKTsKICAgICAgICAvLyAgICAgICAgIGxvdysrOwogICAgICAgIC8vICAgICAgICAgbWlkKys7CiAgICAgICAgLy8gICAgICAgICBicmVhazsKICAgICAgICAvLyAgICAgY2FzZSAxOgogICAgICAgIC8vICAgICAgICAgbWlkKys7CiAgICAgICAgLy8gICAgICAgICBicmVhazsKICAgICAgICAvLyAgICAgY2FzZSAyOgogICAgICAgIC8vICAgICAgICAgc3dhcChhcnJbbWlkXSwgYXJyW2hpZ2hdKTsKICAgICAgICAvLyAgICAgICAgIGhpZ2gtLTsKICAgICAgICAvLyAgICAgICAgIGJyZWFrOwogICAgICAgIC8vIH0KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICAKICAgIHZlY3RvcjxpbnQ+IGFyciA9IHswLCAxLCAyLCAyLCAxLCAwLCAwLCAyLCAwLCAxLCAxLCAwfTsKICAgIAogICAgc29ydChhcnIpOwogICAgCiAgICBmb3IoaW50IG51bTogYXJyKSB7CiAgICAgICAgY291dDw8bnVtPDwiICI7CiAgICB9CiAgICBjb3V0PDxlbmRsOwogICAgCn0=
MTAKYWJhCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtzCmdlZWtzZm9yZ2Vla3MKZ2Vla3Nmb3JnZWVrcwpnZWVrc2ZvcmdlZWtz
10
aba
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks
geeksforgeeks