题目大意:求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 排序
原文地址:http://blog.csdn.net/popoqqq/article/details/41896457