#include <iostream>
#include <algorithm>
#include <vector>
#include <typeinfo>
#include <cmath>
#include <cstdlib>
int main(){
const int n=11;
double x[n],a3[n],a1[n];
x[0]=-0.717778;
x[1]=-0.496843;
x[2]=-0.429063;
x[3]=-0.3596;
x[4]=-0.205607;
x[5]=0.0730536;
x[6]=0.138018;
x[7]=0.585526;
x[8]=2.40104;
x[9]=3.75268;
x[10]=4.55704;
a3[0]=0.790832;
a3[1]=0.569896;
a3[2]=0.502116;
a3[3]=0.432653;
a3[4]=0.343625;
a3[5]=0.512472;
a3[6]=0.56708;
a3[7]=1.01459;
a3[8]=2.32799;
a3[9]=3.67962;
a3[10]=4.48398;
std::cout.precision(10);
std::copy(a3,a3+n,a1);
for(int i=0;i<n;i++) a1[i]+=x[i];
std::sort(a1,a1+n);
for(int i=0;i<n;i++) std::cout << a1[i] << std::endl;
std::cout << "---" << std::endl;
int n_1 = std::unique(a1,a1+n,
[](float a, float b)
{
return std::fabs(a-b) < 10e-9;
}
) - a1;
std::cout << "length of unique subvector " << n_1 << std::endl;
std::cout << "---" << std::endl;
for(int i=0;i<n_1;i++) std::cout << a1[i] << std::endl;
std::cout << "---" << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dHlwZWluZm8+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGNzdGRsaWI+CgoKaW50IG1haW4oKXsKICAgIGNvbnN0IGludCBuPTExOwogICAgZG91YmxlIHhbbl0sYTNbbl0sYTFbbl07CgogICAgeFswXT0tMC43MTc3Nzg7CiAgICB4WzFdPS0wLjQ5Njg0MzsKICAgIHhbMl09LTAuNDI5MDYzOwogICAgeFszXT0tMC4zNTk2OwogICAgeFs0XT0tMC4yMDU2MDc7CiAgICB4WzVdPTAuMDczMDUzNjsKICAgIHhbNl09MC4xMzgwMTg7CiAgICB4WzddPTAuNTg1NTI2OwogICAgeFs4XT0yLjQwMTA0OwogICAgeFs5XT0zLjc1MjY4OwogICAgeFsxMF09NC41NTcwNDsKCiAgICBhM1swXT0wLjc5MDgzMjsKICAgIGEzWzFdPTAuNTY5ODk2OwogICAgYTNbMl09MC41MDIxMTY7CiAgICBhM1szXT0wLjQzMjY1MzsKICAgIGEzWzRdPTAuMzQzNjI1OwogICAgYTNbNV09MC41MTI0NzI7CiAgICBhM1s2XT0wLjU2NzA4OwogICAgYTNbN109MS4wMTQ1OTsKICAgIGEzWzhdPTIuMzI3OTk7CiAgICBhM1s5XT0zLjY3OTYyOwogICAgYTNbMTBdPTQuNDgzOTg7CgogICAgc3RkOjpjb3V0LnByZWNpc2lvbigxMCk7CiAgICBzdGQ6OmNvcHkoYTMsYTMrbixhMSk7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSAgICAgICAgICAgIGExW2ldKz14W2ldOyAgICAgICAgICAgIAogICAgc3RkOjpzb3J0KGExLGExK24pOwogICAgZm9yKGludCBpPTA7aTxuO2krKykgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgYTFbaV0gPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8ICItLS0iIDw8IHN0ZDo6ZW5kbDsKICAgIGludCBuXzEgPSBzdGQ6OnVuaXF1ZShhMSxhMStuLAogICAgICAgICAgICAgICAgW10oZmxvYXQgYSwgZmxvYXQgYikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpmYWJzKGEtYikgPCAxMGUtOTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICApIC0gYTE7CiAgICBzdGQ6OmNvdXQgPDwgImxlbmd0aCBvZiB1bmlxdWUgc3VidmVjdG9yICIgPDwgbl8xIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiLS0tIiA8PCBzdGQ6OmVuZGw7CiAgICBmb3IoaW50IGk9MDtpPG5fMTtpKyspICAgICAgICAgc3RkOjpjb3V0IDw8IGExW2ldIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiLS0tIiA8PCBzdGQ6OmVuZGw7ICAgIAp9