P8708求条
  • 板块学术版
  • 楼主hattt
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/1/18 09:59
  • 上次更新2025/1/18 13:18:23
查看原帖
P8708求条
1100695
hattt楼主2025/1/18 09:59
#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b){
	if(a.size()>b.size()){
		return true;
	}else{
		if(a.size()==b.size()){
			return a>=b;
		}else{
			return false;
		}
	}
}
int n;
string a[100005];
string k;
int main(){
	ios_base::sync_with_stdio(false);
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	int l=1,r=n,cnt=0;
	string s,t;
	while(l<r){
		s=a[l]+a[r];
		//cout<<s<<'\n';
		if(cmp(k,s)){
			cnt+=r-l;
			l++;
		}else{
			r--;
		}
	}
	//cout<<cnt<<'\n';
	sort(a+1,a+n+1,cmp);
	l=1,r=n;
	while(l<r){
		t=a[l]+a[r];
		//cout<<t<<'\n';
		if(cmp(k,t)){
		    cnt+=r-l;
			r--;
		}else{
			l++;
		}
	}
	cout<<cnt;
}

过样例,全Wa

2025/1/18 09:59
加载中...