如何优雅地防止MLE(for linux)
赛前最后一天模拟赛又有小伙伴MLE了……这里就讲一下如何较为精确地获取程序运行时间和空间。
资源统计当然是操作系统统计的最精确。所以可以这样写(noilinux实测通过,windows下应该不行):
注意:程序所占空间为当下运行最大所占的空间。这样统计包括动态空间,但不代表可能的最大所占空间。申请的数组如果没有用完也不会统计进去。(这也是大部分OJ没有用很多动态内存,而各个测试点所占内存仍有较大差距的原因。)所以你需要极限数据来帮你。当然,还是手算的上限最靠谱。
#include <cstdio>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/resource.h>
int main() {
pid_t Pid;
Pid = fork();
if (Pid == -1) {
printf("Fork error.\n"); //错误信息。没有遇到过,应该省去问题不大。
return 0;
}
if (Pid == 0) {
system("./a.out < in > out");//这里放你想执行的命令。
return 0;
}
int State = 0;
rusage RUse;
pid_t PID = wait4(-1, &State, __WALL, &RUse);
printf("Time = %d ms, Memory = %d kb\n", RUse.ru_utime.tv_sec * 1000 + RUse.ru_utime.tv_usec / 1000, RUse.ru_maxrss);
//这样就得到了时间(ms)和空间(kb)
return 0;
}
如何优雅地防止MLE(for linux)的更多相关文章
- 如何优雅地使用win10的Linux子系统
转自: http://blog.csdn.net/u010053050/article/details/52388663 http://www.rehack.cn/techshare/devtools ...
- Windows、Linux下文件操作(写、删除)错误的产生原因、及解决方法
catalog . 引言 . Linux平台上涉及的File IO操作 . Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件 ...
- 为什么 Linux Mint 比 Ubuntu好?
Linux Mint由Linux Mint Team团队于2006年开始发行,是一份基于Debian和Ubuntu的Linux发行版.其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件.多媒体 ...
- 80%的人都不会的,15个Linux实用技巧
熟悉 Linux 系统的同学都知道,它高效主要体现在命令行.通过命令行,可以将很多简单的命令,通过自由的组合,得到非常强大的功能. 命令行也就意味着可以自动化,自动化会使你的工作更高效,释放很多手工操 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 下EXT2文件系统 —— 如何将蚂蚁和大象优雅的装进冰箱里
这一阵子真是偷懒,无时无刻不和自己身体中的懒癌做斗争.最终我还是被打败了,星期天两天几乎都是荒废过去的,在空闲的时候实际上我内心也是有点焦虑的,不知道去怎么度过这时间.学习吧又不想学习,看电视娱乐吧也 ...
- linux下如何优雅的挂载一个外界设备(比如优盘)
最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令: yum -y install gcc yum -y install gcc-c++ ,居然说是没有这样的镜像,也罢 ...
- Linux 桌面玩家指南:06. 优雅地使用命令行及 Bash 脚本编程语言中的美学与哲学
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- 优雅的使用Linux
优雅的使用Linux 系统安装 启动盘制作 通过rufus烧制官网镜像,注意根据自己系统的引导模式选择相应模式,不确定的,可以在windows中通过Win + R 快捷键调出"运行" ...
随机推荐
- python 爬取文章后存储excel 以及csv
import requests from bs4 import BeautifulSoup import random import openpyxl xls=openpyxl.Workbook() ...
- Visual Studio新建类自动添加注释
修改 VS中新建类的模板 如以下地址:D:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSha ...
- uni-app中picker组件的一个坑
这里直接贴出代码 <view class="goods-info-add fl-sw"> <view>运费模板:</view> <view ...
- CNN 笔记
1. 卷积后的图像的大小为 (w+2p-f)*3 / s W为图像的宽,p为padding的大小, f为卷积核大小, 3 为图像的通道数, s为步长 2. 卷积层和池化层的区别? 卷积层是 ...
- Windows 下 nvm, node, npm 的下载、安装与配置
主要解决的问题 下载安装完 nvm 和 node 后,缺失 npm 文件 执行 jasmine 等命令时提示「不是内部或外部命令...」及全局变量的设置 下载与安装 一.nvm github 下载地址 ...
- SqlServer 附加数据库出错
方法一 找到要添加数据库的.mdf文件,点击右键,选择属性 在属性页面点击安全,选择Authenticated Users,单击编辑 Authenticated Users权限中选择完全控制,点击确定 ...
- C++ STL 之 容器的深拷贝和浅拷贝
如果我们没有提供拷贝构造函数,没有重载=操作符,vector 对我们的 mc 对象进行的简单的浅拷贝,将拷贝的对象插入到容器中,导致我们的 mc 对象的 data 指针和容器中mc 对象的拷贝对象中的 ...
- TTP223 触摸按键
正面 反面 模式设置 可替代按键开关
- Java BIO、NIO、AIO 基础,应用场景
Java对BIO.NIO.AIO的支持: Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必 ...
- js 数值精确运算使用math.js
javaScript 浮点数运算的精度问题 问题:编程中你可能会遇到0.1*7=0.7000000000000001; 原因:几乎所有的编程语言都采用了 IEEE-745 浮点数表示法,任何使用二进制 ...