ruiner @ 2018-10-01 19:16:30
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int xi[10000],yi[10000];
void qsort(int l,int r);
int main()
{
bool ok;
int n,s,a,b,high,count=0;
cin>>n>>s;
cin>>a>>b;
for(int i=1;i<=n;i++)
cin>>xi[i]>>yi[i];
high=a+b;
qsort(1,n);
/*改进后的冒泡排序
for(int i=1;i<=n;i++)
{
ok=true;
for(int x=1;x<=n-i;x++)
{
if(yi[x]>yi[x+1])
{
swap(yi[x],yi[x+1]);
swap(xi[x],xi[x+1]);
ok=false;
}
}
if(ok==true) break;
}*/
int t=1;
while(s>0)
{
if(high>=xi[t]&&s>=yi[t])
{
t++;
count++;
}
}
cout<<count;
return 0;
}
快速排序
void qsort(int l,int r)
{
int i,j,mid,p;
i=1;j=r;
mid=yi[(l+r)/2];
do
{
while(yi[j]<mid) j++;
while(yi[j]>mid) j--;
if(i<=j)
{
swap(yi[i],yi[j]);
swap(xi[i],xi[j]);
i++;j--;
}
}while(i<=j);
if(l<j) qsort(l,j);
if(l<r) qsort(i,r);
}
都GG了 冒泡时间要将近5S 快排时间短,但是会RE/MLE 求dalao解答
by Hallucination @ 2018-10-01 19:21:09
@ruiner sort了解一下
by ruiner @ 2018-10-01 19:22:06
@宇宙最帅的人 sort会RE..
by ruiner @ 2018-10-01 19:22:19
@宇宙最帅的人 我感觉数组开的很大了啊