首页 > 代码库 > BZOJ 2348 Baltic 2011 Plagiarism 排序
BZOJ 2348 Baltic 2011 Plagiarism 排序
题目大意:求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 排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。