博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1117 Eddington Number
阅读量:6265 次
发布时间:2019-06-22

本文共 820 字,大约阅读时间需要 2 分钟。

题意:给出了N个数字,确定一个尽可能大的数字E,要求这N个数字中大于E的数字有E个。

思路: 乍一看不知道题目在说啥。静下心来多读几遍题目,在草稿纸上比划比划,发现是个大水题。解释一下样例,原始序列为6 7 6 9 3 10 8 2 7 8,将其从大到小排序,则是10 9 8 8 7 7 6 6 3 2,(假设下标从1开始),我们这样来理解,第1天骑行10公里(说明有1天超过1);第2天骑行9公里(说明有2天超过2);第3天骑行8公里(说明有3天超过3)...,第6天骑行7公里(说明有6天超过6);第7天骑行6公里(有7天超过7???错了。。退出。。),因此这种情况答案是6,就是这10天中有6天骑行的距离是大于6的。

另外再举几个例子,比如:1 1 1 1,第1天骑行1公里(有1天超过1?不满足,退出),因此这种情况答案是0;再比如:2 2 2 2,第1天骑行2公里(有1天超过1),第2天骑行2公里(有2天超过2?不满足,退出),答案是1。

代码:

#include 
#include
using namespace std;const int maxn=100005;int dis[maxn];bool cmp(int a,int b) {
return a>b;}int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&dis[i]); sort(dis+1,dis+n+1,cmp); int i=1; while(dis[i]>i) i++; printf("%d",i-1); return 0;}

 

转载于:https://www.cnblogs.com/kkmjy/p/9578966.html

你可能感兴趣的文章
与孩子一起学编程10章
查看>>
【再探backbone 03】博客园单页应用实例(提供源码)
查看>>
android 圆角编写(懒得去找,写给自己看的)
查看>>
chrome 搜索 jsonView
查看>>
chrome浏览器:chrome 69 恢复默认UI
查看>>
Irony - 一个 .NET 语言实现工具包
查看>>
Java之Static静态修饰符详解
查看>>
修改weblogic部署的应用名称
查看>>
aaronyang的百度地图API之LBS云与.NET开发 Javascript API 2.0【基本地图的操作】
查看>>
Java Nio 多线程网络下载
查看>>
C++不让程序一闪而过
查看>>
C# 中的枚举类型 enum (属于值类型)
查看>>
[Debug] Use Snippets to Store Behaviors in Chrome DevTools
查看>>
【Java面试题】3 Java的"=="和equals方法究竟有什么区别?简单解释,很清楚
查看>>
通用性好的win2003序列号: (推荐先用这个里面的)
查看>>
Chromium Embedded Framework中文文档 (升级到最新的Chrome)
查看>>
WPF Command CanExecute 的执行逻辑
查看>>
更为快捷的Excel操作方式 快捷键 Alt使用技巧动画图解
查看>>
程序员们最易犯的10种错误
查看>>
面试必考题!你知道CSS实现水平垂直居中的第10种方式吗?
查看>>