tokitsukaze and RPG(暴力优化)
2024-09-07 05:47:04
链接:https://ac.nowcoder.com/acm/contest/308/B
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
tokitsukaze最近沉迷一款RPG。
这个RPG一天有k分钟,每一天从第1分钟开始。
有n种怪物,第i种怪物每天第一次出现的时间为Xi分钟,第二次出现的时间为2*Xi分钟,第三次出现的时间为3*Xi分钟......同一时刻出现的怪物种类越多,打怪获得的经验也越高。
为了高效练级,tokitsukaze想知道在一天内出现怪物种类最多的时间点会出现多少种怪物,这样的时间点有多少个。
输入描述:
第一行包括2个正整数n,k(1≤n≤10^5,1≤k≤10^6),表示有n种怪物,一天有k分钟。
接下来一行包括n个正整数X(1≤Xi≤10^6),含义如题面所示。
输出描述:
输出一行,包括两个整数a,b。
a表示怪物种类数,b表示时间点的个数。
示例1
输入
3 6
2 2 3
输出
3 1
说明
在第6分钟时,3种怪物都出现了。
示例2
输入
3 5
2 2 3
输出
2 2
说明
在第2分钟和第4分钟时,第一种和第二种怪物出现了。
示例3
输入
6 10
1 2 3 4 5 6
输出
4 1
说明
在第6分钟时,出现了第一种、第二种、第三种、第六种怪物。
示例4
输入
3 5
6 6 6
输出
0 5
说明
在第1分钟、第2分钟、第3分钟、第4分钟、第5分钟,都没有出现怪物。
题解:参加牛客网比赛的第二场,感觉难度。。有点大,虽然感觉题目很容易有想法,但是实在是难以ac,多与这道题,我一开始的想法是最小公倍数,然后就一直WA,多亏了大佬们的提醒,明白了这种解法的错误性,然后尝试暴力去解,单纯暴力肯定会超时的,所以优化问题就是个关键,优化的问题在代码中能够体现
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int a[1000005];
int cnt[1000005];
int num[1000005];
int main() {
int n,k;
cin>>n>>k;
for(int t=1; t<=n; t++) {
scanf("%d",&a[t]);
}
sort(a+1,a+n+1);
for(int t=1; t<=n; t++) {
cnt[a[t]]++;
}
for(int t=1; t<=a[n]; t++) {
if(cnt[t]) {
for(int j=1;j*t<=k; j++) {
num[j*t]+=cnt[t];
}
}
}
int maxn=0,sum=0;
for(int t=1; t<=k; t++) {
if(num[t]>maxn)maxn=num[t],sum=1;
else if(num[t]==maxn)sum++;
}
printf("%d %d\n",maxn,sum);
return 0;
}
最新文章
- 【代码笔记】iOS-字符串的分割
- [示例] Firemonkey 不规则按钮实做
- Shiro —— 从一个简单的例子开始
- 杀死你网站SEO的5个技术
- WKWebView与Js实战(OC版)
- 剑指offer系列44---只出现一次 的数字
- Asp.net 引用css/js资源文件
- CodeForces 527B
- c++11 auto_ptr介绍
- wdcp/wdlinux 在 UBUNTU/linux 中安装失败原因之创建用户
- Ubuntu 下 libgps 库的使用
- BCD码与16进制互转算法
- 概率与统计推断第二讲homework
- python字符串截取、查找、分割
- 编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略
- Hibernate三种状态,缓存,以及update更新问题
- Python 连接 redis 模块
- 53.纯 CSS 创作一个文本淡入淡出的 loader 动画
- docker下安装vim
- 如何基于 K8S 多租能力构建 Serverless Container
热门文章
- 记一次maven打包编译文件一直不正确
- Android 菜单的使用
- Focal Loss 损失函数简述
- Xlua中LuaBehaviour的实现
- Elasticsearch第四篇:索引别名、添加或修改映射规则
- C#LeetCode刷题之#104-二叉树的最大深度​​​​​​​(Maximum Depth of Binary Tree)
- C#LeetCode刷题之#1-两数之和(Two Sum)
- C#LeetCode刷题之#7-反转整数(Reverse Integer)
- three.js 制作机房(下)
- CSS动画实例:旋转的圆角正方形