0分求调,悬赏一关注
查看原帖
0分求调,悬赏一关注
514343
I_Love_QingYu楼主2024/4/12 13:59
#include<bits/stdc++.h>
using namespace std;
string s[100001],h;
long long int ans;
int main()
{
    int n;cin>>n>>h;
    for(int i=1;i<=n;i++)
        cin>>s[i];
    sort(s+1,s+1+n);
    for(int i=1,r=n,r1=n;i<=n;i++){
        while(r>0&&s[i]+s[r]>h)
            r--;
        while(r1>0&&s[r1]+s[i]>h)
            r1--;   
        if(r1>i)
        ans+=r1-i;
        if(r>i)
        ans+=r-i;
    }
    cout<<ans;
    return 0;
}

分开求两种情况的答案,感觉对了,

2024/4/12 13:59
加载中...