Official
B - How many? Editorial by en_translator
Consider searching exhaustively every tuple \((a,b,c)\) such that \(a+b+c \leq S\) and check if each of them satisfies \(a \times b \times c \leq T\).
This can be implemented with for statements as follows.
Sample code (C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int S, T; cin >> S >> T;
int cnt = 0;
for(int a = 0; a <= S; a++){
for(int b = 0; a+b <= S; b++){
for(int c = 0; a+b+c <= S; c++){
if(a*b*c <= T) cnt++;
}
}
}
cout << cnt << endl;
}
Sample code (Python)
S, T = map(int, input().split())
res = 0
for a in range(S+1):
for b in range(S+1-a):
for c in range(S+1-a-b):
if a*b*c <= T:
res+=1
print(res)
bonus: \(0 \leq S,T \leq 10^{18}\)
posted:
last update: