44分,条件不知错与何处
查看原帖
44分,条件不知错与何处
545507
pl_cosmonaut楼主2021/12/8 23:14
#include<bits/stdc++.h>
using namespace std;
int n,a[51],b[51];
int qsort(int l,int r){
	int i=l,j=r,mid=b[(r+l)/2];
	while(i<=j){
		while(b[i]<mid)i++;
		while(b[j]>mid)j--;
		if(i<=j){
			swap(b[i],b[j]);
			swap(a[i],a[j]);
			i++;
			j--;
		} 
	}
	if(l<j)qsort(l,j);
	if(i<r)qsort(i,r);
}

int main(){
	int n,G;
	cin>>G;
	for(int test=1;test<=G;test++){
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i]>>b[i];	
		}
		qsort(1,n);
		int a_where=0;
		int flag=1;int time=0;
		for(int i=1;i<=n;i++){
			if(b[i]-time<abs(a[i]-a_where)){
				cout<<"Notabletocatch"<<endl;
				flag=0;
				break;
			}
			else{
				time+=b[i];
				a_where=a[i];
			} 
		}
		if(flag==0)continue;
		else cout<<"Abletocatch"<<endl;
	}
	return 0;
}
2021/12/8 23:14
加载中...