fork(5) download
  1. use List::Util 'sum';
  2.  
  3. sub X{for$c(sort@_){@r=map{$_,[@$_,$c]}@r,[]}grep{!$f{"@$_"}++&&10==sum@$_}@r}
  4.  
  5. use Data::Dumper;
  6. @r=X(1,3,4,5,3,3,7,2,7,10);
  7. $_=Dumper(\@r);
  8. s/\s+//g;
Success #stdin #stdout 0.01s 7748KB
stdin
Standard input is empty
stdout
$VAR1=[[3,7],[3,3,4],[2,3,5],[10],[1,4,5],[1,3,3,3],[1,2,7],[1,2,3,4]];