题意略。

思路:

我们将数组中的数字从大到小排列,分别考虑取前0 + 1,1 + 1,2 + 1.....个的情况。

所谓i + 1的意思是,取前i个的时候,同时取第[i + 1],[i + 2],......,[n]个元素。这样产生的是一个递减的和。

我们将取前 i 个的这种情况定义为第 i 类。我们知道第 i 类的最大值也小于第 i+1 类的最小值。因此可以产生不重叠的sum和。

详见代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn = ; int ai[maxn]; bool cmp(const int& a,const int& b){
return a > b;
} int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i = ;i <= n;++i) scanf("%d",&ai[i]);
sort(ai + ,ai + + n,cmp);
for(int i = ,cnt = ;i <= n && cnt < k;++i){
for(int j = i;j <= n && cnt < k;++j){
printf("%d",i);
for(int k = ;k <= i - ;++k)
printf(" %d",ai[k]);
printf(" %d\n",ai[j]);
++cnt;
}
}
return ;
}

最新文章

  1. Myeclipse不显示js文件错误的方法
  2. SOA架构设计经验分享—架构、职责、数据一致性
  3. HTML5的新增方法
  4. 怎样记住Integer的最大值(有趣的思维和搞笑的回答)
  5. 漏洞科普:对于XSS和CSRF你究竟了解多少
  6. phpcms调用一级栏目和二级栏目
  7. URL、表单数据、IP等处理类
  8. jQuery中attr() 和 prop()【转】
  9. 【LEETCODE OJ】Binary Tree Preorder Traversal
  10. Flex 4 不同主题下容器子元素的管理方法
  11. wait(...) notify() notifyAll()
  12. android 实现蓝牙自动配对连接
  13. Indy的TCPServer到底能支持多少个连接
  14. HTTP概念解析
  15. Kubernetes-基于flannel的集群网络
  16. antd的Tree控件实现点击展开功能
  17. fullPage最后一屏自适应
  18. P1192 台阶问题
  19. 输入控件tagsinput
  20. 用Execute操作数据库

热门文章

  1. 第一篇:开始进入 django 之旅
  2. 在Linux上安装JDK8-教程
  3. Java 多线程部分面试题
  4. linux 使用git
  5. TP框架基础(四)----添加数据
  6. 树状数组(binary index tree)
  7. 【iOS】UIAlertView 点击跳转事件
  8. [重磅开源] 比SingleR更适合的websocket 即时通讯组件---ImCore开源了
  9. gulp压缩js文件报错日志
  10. 微服务之springboot 自定义配置(一)Application配置文件