Untitled
unknown
plain_text
3 years ago
962 B
16
Indexable
void solution()
{
vector<pair<ll,ll>>vop;
ll n,sum;
cin >> n >> sum;
for(ll i=0; i<n; i++)
{
ll x;
cin >> x;
vop.pb({x,i+1});
}
sort(vop.begin(),vop.end());
map<vector<ll>,int>mpv;
for(ll i=0; i<vop.size(); i++)
{
ll x = i;
ll y = i+1;
ll z = n-1;
while(y < z)
{
ll sum2 = vop[x].f + vop[y].f + vop[z].f;
if(sum2 == sum)
{
vector<ll>temp;
temp.pb(vop[x].f);
temp.pb(vop[y].f);
temp.pb(vop[z].f);
if(mpv[temp] == 0)
{
print(temp);
mpv[temp] = 1;
}
}
if(sum2 < sum)
{
y++;
}
else
{
z--;
}
}
}
}Editor is loading...