Codeforces Round #303 (Div. 2) D. Queue 【贪心】
来源:互联网 发布:网络教育的骗局 编辑:程序博客网 时间:2024/05/16 09:57
题意:n个人在超市排队买单。每个人花费的时间为a[i]。如果第i个人排队的时间大于买单的时间,那个人就会发火。问,最少可以让几个人不发火。
数据分析:1 ≤ n ≤ 105 :: 1 ≤ a[i] ≤ 1e9
思路:
1·错误思路:必须要让时间小的先买单,那么sort一下。然后求前缀和,再O(n)for一遍。如果sum[i] > a[i] ans++。
2.正确思路:假如第i个人生气了,那么这个人去后面排队。如果还让他买单,只会让后面生气的人数可能性增加。
复杂度分析:(nlogn+n)
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e5+50;int a[maxn];ll sum[maxn];ll ans=0;int main(void){ int n; cin >> n; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); // 时间 ll sum=0; for(int i=1;i<=n;i++) { if(a[i]<sum) { ans++; continue; } else sum+=a[i]; } cout << n-ans <<endl;}
阅读全文
0 0
- Codeforces Round #303 (Div. 2) D. Queue —— 贪心
- Codeforces Round #303 (Div. 2) D. Queue 【贪心】
- Codeforces Round #303 (Div. 2) D 贪心
- Codeforces Round #303 (Div. 2)-D. Queue(优先队列)
- 【贪心】Codeforces Round #339 (Div. 2) D
- Codeforces Round #351 Div. 2 D 贪心
- Codeforces Round #378 (Div. 2) D 贪心
- Codeforces Round #205 (Div. 2) D. Queue —— 技巧
- Hot Days Codeforces Round #132 (Div. 2) D(贪心)
- Codeforces Round #276 (Div. 2)(C贪心,D)
- Codeforces Round #296 (Div. 2) - D. Clique Problem(贪心)
- Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
- Codeforces Round #352 (Div. 2) D 二分贪心两头 + 细节
- Codeforces Round #310 (Div. 2) D 贪心+set应用
- Codeforces Round #298 (Div. 2) D. Handshakes(贪心)
- Codeforces Round #339 (Div. 2) D.Skills(贪心)
- Codeforces Round #374 (Div. 2) D 贪心+优先队列
- Codeforces Round #374 (Div. 2)D. Maxim and Array(贪心)
- MySQL 存储过程
- 架构师---(大型网站技术架构核心原理与案例分析)1大型网站架构演化
- gdut
- Maven 打包 关于线下能运行不能打包的原因
- UE4 在蓝图类里面得到关卡蓝图的画布/button等
- Codeforces Round #303 (Div. 2) D. Queue 【贪心】
- python学习:logging模块
- 433m无线模块,无线收发模块,无线传输模块
- 常用git命令
- 激活函数-Sigmoid,Tanh,ReLu,softplus,softmax
- 设备指纹
- 牛客网刷题笔记--数据库
- ---Audio编辑器制作步骤
- 计算机的二进制数据如何在显示器上显示