zzuli 2126: tmk买礼物(模拟)
来源:互联网 发布:zepto.js 左右滑动 编辑:程序博客网 时间:2024/04/27 20:05
题目链接:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2126
2126: tmk买礼物
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 319 Solved: 103
SubmitStatusWeb Board
Description
明天是校赛的日子,为了庆祝这么喜庆的日子,TMK打算买些礼物给女票LSH庆祝一下。
TMK进入了雪梨超市,然后刚踏入的一瞬间,店主就对TMK说:“恭喜你成为了本店第2147483647位顾客,本店在搞一个活动,对本店第2147483647位顾客进行赠送活动。你先看看你有多少钱?”
TMK一摸口袋,发现只有n个硬币,每个硬币的价值为a[i]。
然后店主继续说:“现在你用你的钱凑一些数,如果你的钱能凑成[0,x]里面所有的数,那么你将会免费获得该店价值x元的代金券,假设你有四个硬币面值分别为1,2,4,100,你就可以凑成[0,7]里面所有的数,我们将会送你7元的代金券。现在就用你的硬币来试试吧。Enjoy yourself!”
在TMK努力凑钱的时候,店主想知道他要送多少代金券给TMK。
TMK进入了雪梨超市,然后刚踏入的一瞬间,店主就对TMK说:“恭喜你成为了本店第2147483647位顾客,本店在搞一个活动,对本店第2147483647位顾客进行赠送活动。你先看看你有多少钱?”
TMK一摸口袋,发现只有n个硬币,每个硬币的价值为a[i]。
然后店主继续说:“现在你用你的钱凑一些数,如果你的钱能凑成[0,x]里面所有的数,那么你将会免费获得该店价值x元的代金券,假设你有四个硬币面值分别为1,2,4,100,你就可以凑成[0,7]里面所有的数,我们将会送你7元的代金券。现在就用你的硬币来试试吧。Enjoy yourself!”
在TMK努力凑钱的时候,店主想知道他要送多少代金券给TMK。
Input
第一行一个整数T,表示数据组数。
对于每组数据,首先读入一个整数n(n<=100000),然后接下来的一行有n个整数,表示a[i] (0<a[i]<=1e9)
Output
对于每个数据,输出一个整数x,表示店主要送x元的代金券给TMK
Sample Input
1
3
1 2 3
Sample Output
6
HINT
Source
解析:一直维护一个答案区间[0,r),把所有数排下序,取最小的数num,如果num>r那么直接输出r,否则可以到达r = num+r
代码:
#include<bits/stdc++.h>#define N 500009using namespace std;typedef long long LL;const int mod = 10007;int a[N];int main(){ int t, n; scanf("%d", &t); while(t--) { scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d", &a[i]); sort(a, a + n); int i; LL ans = 1; for(i = 0; i < n; i++) { if(a[i] > ans) break; ans += a[i]; } printf("%lld\n", ans - 1); } return 0;}
0 0
- zzuli 2126: tmk买礼物(模拟)
- zzuli 2126 tmk买礼物 思维题
- tmk买礼物
- GDUT2017校赛:Problem H: tmk买礼物(思维)
- 广工ProblemH 1231 TMK买礼物(判定数组)
- 2017广东工业大学 校赛H题tmk买礼物
- 2017 年广工大的程序设计决赛H题 --- tmk买礼物
- 广东工业大学第12届ACM程序设计大赛 Problem H: tmk买礼物
- zzuli 2127 tmk射气球
- zzulioj 2132 Tmk吃汤饭(模拟)
- 【ZZULI】-1896-985的买饮料难题(思维)
- 洛谷 P1194 买礼物
- 洛谷P1194 买礼物
- 洛谷P1194 买礼物
- zzuli--1812--sort(模拟水题)
- zzuli oj 1913 (模拟多个数相加)
- zzuli 1732: 五子棋 (搜索+模拟)
- 9.9 买礼物的艰辛 2719
- 64位mysql使用教程
- 欢迎使用CSDN-markdown编辑器
- 28个linux命令行神器
- 前m大的数
- 结合盒子模型,发布一张你的卡片
- zzuli 2126: tmk买礼物(模拟)
- 编程能力训练 —— 1st C++习题:输入3个数求最大值
- 闭包到底是什么???
- Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文理解
- 【C++】循环删除vector等容器内的元素
- [IMWeb训练营作业]基于Vue的小demo--toodolist
- unity UGUI Button 点击之后按空格还是会触发点击事件
- 创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后载实现接口中的定义的CompareTo方法,将对象按编号升序排列。根据已有的代码,补全程序。
- spark平台 mllib K-Means聚类算法 实现