题意:找出满足ab+ac+bc<=n&&a+b+c<=x的a,b,c的个数
分析:遍历a,遍历符合条件的b,找出两个式子c的最大值的最小值相加。
代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; void sol(){int n,x;cin>>n>>x;ll ans=0;for(int a=1;a<=n;a++){for(int b=1;a+b<=x&&(ll)a*b<=n;b++){ans+=min(x-a-b,(n-a*b)/(a+b));}}cout<<ans<<endl; } int main(){int t;cin>>t;while(t--)sol();return 0; }