uva 10954(贪心)
来源:互联网 发布:mysql安装包下载 64位 编辑:程序博客网 时间:2024/04/28 20:36
题意:一些数字两两相加,要求把每次两数相加的和全部加起来最小。
题解:优先队列会更好写,幸好数据量不是很大,所以数组代替,每次都挑数字中最小的两个相加,然后把和再放到数组里面,注意把和加入时保持数组的升序,然后每次的和都加起来得到结果。
#include <stdio.h>#include <string.h>#include <algorithm>#define ll long longusing namespace std;const int N = 20000;int main() {long long sum, n, num[N], ans, front, rear, i, j;while (scanf("%lld", &n) && n) {for (i = 0; i < n; i++)scanf("%lld", &num[i]);sort(num, num + n);ans = 0;front = 0;rear = n;while (front + 2 <= rear) {sum = num[front] + num[front + 1];for (i = front + 2; i < rear; i++)if (num[i] > sum)break;for (j = rear - 1; j >= i; j--)num[j + 1] = num[j];num[i] = sum;front += 2;rear++;ans += sum;}printf("%lld\n", ans);}return 0;}
0 0
- uva 10954(贪心)
- uva--10954+贪心
- UVa 10954 Add All 贪心
- UVA-10954 贪心+优先队列
- UVa 10954 - Add All 贪心+优先队列
- UVA - 10954 - Add All (贪心)
- UVa 10954 Add All(贪心)
- uva 11389(贪心)
- Uva 11100(贪心)
- uva 1388 - Graveyard(贪心)
- UVA 10037 - Bridge(贪心)
- uva 10037 - Bridge(贪心)
- Uva 10382 贪心
- UVa:10148 Advertisement(贪心)
- Commando War-uva 贪心
- UVA 10714 蚂蚁贪心
- uva 11292 贪心
- File Fragmentation+uva+贪心
- CUDA常量内存
- Android导入一个工程时提示 Invalid project description的解决方法
- linux检测网线插拔状态
- Qt中动态链接库的使用(QPluginLoader方法)
- Android 多线程-----AsyncTask详解
- uva 10954(贪心)
- 配置penfire出现A connection to the database could not be made. ...错误
- POJ 2528——Mayor's posters(线段树+离散化+简单哈希)
- dijkstra算法及一些最短路的注意事项
- iOS学习之 plist文件的读写
- 详解 Qt 下 QLibrary 动态加载 dll (Fortran)
- Ruby Group Parts of An Array
- JAVA学习第三课(函数及其重载)
- android中的Application类