码迷,mamicode.com
首页 > 编程语言 > 详细

BZOJ 2348 Baltic 2011 Plagiarism 排序

时间:2014-12-12 19:15:38      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:bzoj   bzoj2348   排序   

题目大意:求n个数中有多少无序点对(i,j)满足0.9a[j]<=a[i]<=a[j]

《论排序算法的高效性和合理利用以及能否记得使用排序算法》

忘写sort贡献了个WA 2333333

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 100100
#define EPS 1e-7
using namespace std;
int n,a[M];
long long ans;
int main()
{
	int i,j;
	cin>>n;
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
	sort(a+1,a+n+1);
	for(i=1,j=1;i<=n;i++)
	{
		while(a[j]+EPS<a[i]*9.0/10.0)
			++j;
		ans+=i-j;
	}
	cout<<ans<<endl;
}


BZOJ 2348 Baltic 2011 Plagiarism 排序

标签:bzoj   bzoj2348   排序   

原文地址:http://blog.csdn.net/popoqqq/article/details/41896457

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!