过河问题
来源:互联网 发布:武田义胜 知乎 编辑:程序博客网 时间:2024/05/20 05:57
#include<stdio.h>#include<stdlib.h>int sort(const void *a, const void *b){ return *(int *)a - *(int *)b;}int min(int a, int b){ if (a < b) return a; else return b;}int main(){ int m, n, i, j; scanf("%d",&m); while (m--) { scanf("%d",&n); int a[1000] = {0}, num = 0; for (i = 0; i < n; i++) scanf("%d",&a[i]); qsort(a, n, sizeof(int), sort); while (n > 3) { num += min((2 * a[1] + a[0] + a[n - 1]), (a[n - 1] + 2 * a[0] + a[n - 2])); n-=2; } if (n == 3) num += a[0] + a[1] + a[2]; else if (n == 2) num += a[1]; else num += a[0]; printf("%d\n",num); } return 0;}
阅读全文
1 0
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- 过河问题
- Qt Linux版本卸载
- malloc函数介绍
- 管道物流导航
- 数据库count(*)和count(1)的区别
- sed命令入门
- 过河问题
- 用函数指针作为函数的返回值 1.指针函数的定义 顾名思义,指针函数即返回指针的函数。其一般定义形式如下: 类型名 *函数名(函数参数表列); 其中,后缀运算符括号“()
- 数据帧、数据包、数据报以及数据段
- ubuntu17.10卸载自带的jdk从
- NOIP复赛复习(十三)图论算法巩固与提高
- Java多线程工具包java.util.concurrent---LinkedBlockingQueue
- Swift基础 错误处理
- Git的17条基本用法
- Dubbo/Dubbox的服务消费(一)- 服务代理的创建