关闭

pat1029 Median

标签: acmc++ojpatzju
50人阅读 评论(0) 收藏 举报

第一眼感觉这题简直不要太简单,直接用数组和sort,结果发现1000000个int的数组太大,栈上放不下;

但是老子就是懒得分配内存,换成vector好了,然后就最后一点超时了,然后把cin换成scanf,发现运行时间居然减少了一半!

居然不用自己写排序函数都能AC,我是吃精的:

#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
int main(void){
	int i,j;
	int n1,n2;
	vector<int>s;
	cin >> n1;
	int tmp; 
	for(i = 0;i < n1;++i){
		scanf("%d",&tmp);
	    s.push_back(tmp);
	}
	cin >> n2;
	for(i = n1;i < n1+n2;++i){
		scanf("%d",&tmp);
	    s.push_back(tmp);
	}
	
	sort(s.begin(),s.end());
	if((n1+n2)%2 == 0)
	cout << s[(n1+n2)/2-1];
	else 
	cout << s[(n1+n2)/2];
return 0;
} 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:122次
    • 积分:30
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档