soj1046. Plane Spotting
1046. Plane Spotting
Constraints
Time Limit: 1 secs, Memory Limit: 32 MB
Description
Craig is fond of planes. Making photographs of planes forms a major part of his daily life. Since he tries to stimulate his social life, and since it’s quite a drive from his home to the airport, Craig tries to be very efficient by investigating what the optimal times are for his plane spotting. Together with some friends he has collected statistics of the number of passing planes in consecutive periods of fifteen minutes (which for obvious reasons we shall call ‘quarters’). In order to plan his trips as efficiently as possible, he is interested in the average number of planes over a certain time period. This way he will get the best return for the time invested. Furthermore, in order to plan his trips with his other activities, he wants to have a list of possible time periods to choose from. These time periods must be ordered such that the most preferable time period is at the top, followed by the next preferable time period, etc. etc. The following rules define which is the order between time periods:
1. A period has to consist of at least a certain number of quarters, since Craig will not drive three hours to be there for just one measly quarter. 
2. A period P1 is better than another period P2 if: 
* the number of planes per quarter in P1 is higher than in P2; 
* the numbers are equal but P1 is a longer period (more quarters); 
* the numbers are equal and they are equally long, but period P1 ends earlier.
Now Craig is not a clever programmer, so he needs someone who will write the good stuff: that means you. So, given input consisting of the number of planes per quarter and the requested number of periods, you will calculate the requested list of optimal periods. If not enough time periods exist which meet requirement 1, you should give only the allowed time periods.
Input
The input starts with a line containing the number of runs N. Next follows two lines for each run. The first line contains three numbers: the number of quarters (1–300), the number of requested best periods (1–100) and the minimum number of quarters Craig wants to spend spotting planes (1–300). The sec-nod line contains one number per quarter, describing for each quarter the observed number of planes. The airport can handle a maximum of 200 planes per quarter.
Output
The output contains the following results for every run:
* A line containing the text “Result for run <N>:” where <N> is the index of the run.
* One line for every requested period: “<F>-<L>” where <F> is first quarter and <L> is the last quarter of the period. The numbering of quarters starts at 1. The output must be ordered such that the most preferable period is at the top.
Sample Input
3
10 5 5
1 5 0 2 1 4 2 5 0 2
10 3 5
10 3 1 4 2 6 3 0 8 0
5 5 5
1 2 3 4 5
Sample Output
Result for run 1:
4-8
2-8
6-10
1-8
2-6
Result for run 2:
1-6
1-7
1-9
Result for run 3:
1-5
没什么好说的,自己定义一个结构体,然后自定义排序就可以了。。。注意细节:最后输出不够M组怎么办。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> num;
struct sub
{
int a;
int b;
double s;
sub(int aa,int bb)
{
a = aa;
b = bb;
int i;
s = 0;
for(i = a;i <= b;i++)
s += num[i];
s = s/(b-a+1);
}
bool operator<(const sub &cc) const
{
if(s != cc.s)
return s > cc.s;
else if(b - a != cc.b - cc.a)
return b - a > cc.b - cc.a;
else
return b < cc.b;
}
}; int main()
{
int T;
cin >> T;
int count = 0;
while(T--)
{
count++;
int N,M,K;
cin >> N >> M >> K;
num.resize(N);
vector<sub> temp;
int i;
for(i = 0;i < N;i++)
cin >> num[i];
int j;
for(i = K;i <= N;i++)
{
for(j = 0;j + i - 1< N;j++)
{
sub tt = sub(j,i+j-1);
temp.push_back(tt);
}
}
sort(temp.begin(),temp.end());
cout << "Result for run " << count << ":" << endl;
for(i = 0;i < M && i < temp.size();i++)
{
cout << temp[i].a + 1<< "-" << temp[i].b + 1<< endl;
}
}
return 0;
}
soj1046. Plane Spotting的更多相关文章
- sicily 1046. Plane Spotting(排序求topN)
		DescriptionCraig is fond of planes. Making photographs of planes forms a major part of his daily lif ... 
- sicily 1046. Plane Spotting
		1046. Plane Spotting Time Limit: 1sec Memory Limit:32MB Description Craig is fond of planes. Mak ... 
- 数据的平面拟合 Plane Fitting
		数据的平面拟合 Plane Fitting 看到了一些利用Matlab的平面拟合程序 http://www.ilovematlab.cn/thread-220252-1-1.html 
- quad 和 plane 区别是什么?
		Quad就是两个三角形组成四边形,Plane会有很多三角形,哦也 貌似Quad拖上去后看不见,很薄的感觉 
- u3d单词学习plane
		plane n.水平: 平面: 飞机: 木工刨 
- 【转载】PMC/PEC Boundary Conditions and Plane Wave Simulation
		原文链接 PMC/PEC Boundary Conditions and Plane Wave Simulation (FDTD) OptiFDTD now has options to use Pe ... 
- codeforces 577E E. Points on Plane(构造+分块)
		题目链接: E. Points on Plane time limit per test 2 seconds memory limit per test 256 megabytes input sta ... 
- Data Plane Development Kit (DPDK): Getting Started
		参考:dpdk getting started 系统: Ubuntu 14.04 内核信息: 执行 uname -a Linux chen-VirtualBox 3.13.0-32-generic # ... 
- Codeforces Round #115 B. Plane of Tanks: Pro 水题
		B. Plane of Tanks: Pro Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/17 ... 
随机推荐
- 13种细分类型的TCP重传小结(一张表总结4.4内核所有TCP重传场景)
			具体每种重传类型的wireshark示例解说参考前文 来自为知笔记(Wiz) 
- jquery on 事件嵌套 事件执行多次
			今天做了个项目,就是想点击添加然后追加一列,点击这一列的修改按钮,在修改, //编辑事件 $('#eventTable').on('click','.edit_n',function(){ var i ... 
- 解决登录不上网页得tomcat(授权manager-gui角色的操作如下)
			1:编辑/usr/local/tomcat/conf/tomcat-users.xml文件,在没有注释的内容中添加: <role rolename="manager-gui" ... 
- 联想本win10 virtualbox 安装centos
			(1)必须开发操作系统虚拟化功能,参考该百度经验 https://jingyan.baidu.com/article/8275fc864d423e46a03cf638.html (2)调整虚拟机硬盘和 ... 
- startActivityForResult()的用法(超好用啊)
			最近做的一个小东西遇到这样的情况,我从一个页面MainActivity修改一些内容,需要跳转到一个新的EditActivity去做修改操作,修改完成后就回到之前的MainActivity,因为信息被修 ... 
- macOS & SVN
			macOS & SVN mac 下已经自带了svn环境; 使用 svn –version 查看版本号 安装方法: 已安装 XCode,只需要在 code > Preferences &g ... 
- python爬虫headers设置后无效解决方案
			此次遇到的是一个函数使用不熟练造成的问题,但有了分析工具后可以很快定位到问题(此处推荐一个非常棒的抓包工具fiddler) 正文如下: 在爬取某个app数据时(app上的数据都是由http请求的),用 ... 
- The Dominator of Strings HDU - 6208(ac自动机板题)
			题意: 就是求是否有一个串 是其它所有串的母串 解析: 把所有的串都加入到trie数中 然后用最长的串去匹配就好了 emm..开始理解错题意了...看成了只要存在一个串是另一个的母串就好.. 然后输 ... 
- 第一章:CDib类库的建立
			VC++图像处理程序设计(第1版) 杨淑莹 编著 边奠英 主审 第一章 位图基础 Joanna-In-Hdu&Hust 手工打,印象更深刻 使用工具 VS2010 mfc 整本 ... 
- [USACO18OPEN]Talent Show
			题目描述 Farmer John要带着他的N头奶牛,方便起见编号为1…N,到农业展览会上去,参加每年的达牛秀!他的第iii头奶牛重量为wi,才艺水平为ti,两者都是整数. 在到达时,Farmer J ... 
