//PROBLEM 2B #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; int main() { cin.tie(0)->sync_with_stdio(0); #define int long long int n; cin >> n; int cnt = 0; vector<int> sq(n*n + 1); for(int a = 1; a <= n; a++) { for(int b = 1; b <= a && a*a+b*b < sq.size(); b++) { sq[a*a+b*b]++; } } for(int sum = 1; sum <= n; sum++) { for(int h = 1; h <= sum; h++) { cnt += sq[sum*sum - h*h]; } } cout << cnt << '\n'; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | //PROBLEM 2B #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; int main() { cin.tie(0)->sync_with_stdio(0); #define int long long int n; cin >> n; int cnt = 0; vector<int> sq(n*n + 1); for(int a = 1; a <= n; a++) { for(int b = 1; b <= a && a*a+b*b < sq.size(); b++) { sq[a*a+b*b]++; } } for(int sum = 1; sum <= n; sum++) { for(int h = 1; h <= sum; h++) { cnt += sq[sum*sum - h*h]; } } cout << cnt << '\n'; } |