#给牛客的问题反馈和建议# Rust能不能把优化开了,至少和cpp一样开到O2吧,现在做题总是超时😅
全部评论
use std::io::{BufRead, Write}; use std::str::FromStr; fn solve(mut input: impl BufRead, mut output: impl Write) { let mut buf = String::new(); input.read_line(&mut buf); let n: usize = buf.trim_end().parse().unwrap(); buf.clear(); input.read_line(&mut buf); let mut nums: Vec<usize> = buf .trim_end() .split(' ') .map(usize::from_str) .flatten() .collect(); let mut sum = vec![nums[0]]; for i in 1..n { sum.push(sum[i - 1] + nums[i]); } let mut st = vec![0]; let mut ans = 0; for i in 1..n { while let Some(top) = st.pop() { if nums[top] < nums[i] { st.push(top); break; } ans = ans.max((sum[i - 1] - st.last().copied().map(|c| sum[c]).unwrap_or(0)) * nums[top]); } st.push(i); } writeln!(output, "{}", ans); } fn main() { solve(std::io::stdin().lock(), std::io::stdout()); }
1 回复 分享
发布于 2021-07-14 19:05
还可以看看别人通过的rust代码
1 回复 分享
发布于 2021-07-14 19:05
你好,我看了下,是ACM模式题目,确实比较慢,我们会看看怎么优化,谢谢你的建议
1 回复 分享
发布于 2021-07-14 18:03
if cfg!(debug_assertions) { println!("Debugging enabled"); } else { println!("Debugging disabled"); } 用这个可以看出acm模式的rust是debug模式编译的,debug模式的rust比python慢都不稀奇。核心模式的没有问题。
点赞 回复 分享
发布于 2021-07-15 12:35
你好,请问你说的是普通的ACM模式还是核心模式
点赞 回复 分享
发布于 2021-07-14 17:43

相关推荐

10-22 13:34
已编辑
南昌航空大学科技学院 C++
自我介绍&nbsp;学校开了哪些课程?课程学完了嘛?看了一下你的项目这个qt的mini音乐播放器rpc框架大概有什么作用?stl当中线程库安全嘛?多线程在日常会使用的嘛?冒泡排序的时间复杂度多少?你的比赛一般是什么比赛?看你博客上面会写看的书?自己的规划是怎么样的?为什么选择C++作为自己的技术栈?了解过其他语言嘛?在校期间担任了什么职务嘛?担任这个职务有什么心得嘛?学校在哪里?异地实习可以吗?可以干多久?希望公司以后给你安排什么相关的工作?如果给你干其他活,你可以接受吗?反问MiAO世界一面15min左右自我介绍讲一下右值引用讲一下move()和forword()讲一下shred_ptrshared_ptr&nbsp;和&nbsp;直接构造有什么区别?讲一下TCP是如何保证可靠性?(第一次理解错了答成三握四挥了)(后面理解了答流量控制,拥塞控制这种)。说说set和zset他们的底层是什么数据结构?讲一下你的项目Rpc讲一下发布订阅的功能。三种方法说一下面试官提到协程?(我表示只在go当中了解过这个概念,面试官说这个协程没有写进C++的标准)rpc中的消息是如何处理的?同步方法,异步方法,怎么让方法看起来一样random生成0-5,如何变成0-7?算法题动态规划,dp爬楼梯讲一下思路(面试官表示没问题)面试官说到时间了,面了这么久,他说看后面安排可能有二面,一面这么久没有反问得物感觉纯聊聊天了,之前面小鹏汽车也是这种感觉MiAO世界的那个面试官还是很好的,期待MiAO世界二面最后,有一个线上实习,不知道要不要干,把c语言代码给全部重构成c++,按代码质量和数量结算,感觉要被卷死了
发面经攒人品
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务