Forum jest zablokowane. Podczas blokady nie można dodawać ani edytować wiadomości.
            
        
    
    
    Ostatnie posty
                        e
                    
                
                
            
                        Mogę też wrzucić jakiś dobry test do 1A z PA2019 jeśli o to ci chodzi xdd
https://youtu.be/3rSfE43nEl4
                
                
            https://youtu.be/3rSfE43nEl4
                        Potwierdzam.
                    
                
                
            
                        6 losowych maxtestów: https://easyupload.io/sdvgm1
                    
                
                
            
                        Miałem identyczny pomysł jak kolega powyżej:
#include<bits/stdc++.h>
using namespace std;
const int N = 5001;
int n,DP[N*N];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
long long res = 0;
for(int i = 1;i <= n;i++)
for(int j = i;i*i + j*j <= n*n;j++)
DP[i*i + j*j]++;
for(int i = 1;i <= n;i++){
for(int j = i-1;j > 0;j--){
res += DP[i*i - j*j];
}
}
cout << res << "\n";
}
                
                
            #include<bits/stdc++.h>
using namespace std;
const int N = 5001;
int n,DP[N*N];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
long long res = 0;
for(int i = 1;i <= n;i++)
for(int j = i;i*i + j*j <= n*n;j++)
DP[i*i + j*j]++;
for(int i = 1;i <= n;i++){
for(int j = i-1;j > 0;j--){
res += DP[i*i - j*j];
}
}
cout << res << "\n";
}
                        Rozwiązanie O(n^2):
#include <iostream>
using namespace std;
int freq[5000 * 5000 + 5000 * 5000 + 1] = { 0 };
int count_solutions_fast(int n) {
for (int a = 1; a <= n; a++) {
for (int b = a; b <= n; b++) {
int s = a * a + b * b;
freq[s]++;
}
}
int count = 0;
for (int c = 1; c <= n; c++) {
for (int d = c; d <= n; d++) {
count += freq[d * d - c * c];
}
}
return count;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
int result = count_solutions_fast(n);
cout << result;
return 0;
}
                
                
            #include <iostream>
using namespace std;
int freq[5000 * 5000 + 5000 * 5000 + 1] = { 0 };
int count_solutions_fast(int n) {
for (int a = 1; a <= n; a++) {
for (int b = a; b <= n; b++) {
int s = a * a + b * b;
freq[s]++;
}
}
int count = 0;
for (int c = 1; c <= n; c++) {
for (int d = c; d <= n; d++) {
count += freq[d * d - c * c];
}
}
return count;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
int result = count_solutions_fast(n);
cout << result;
return 0;
}
                        Wow, w końcu wrzuciłeś paczkę z dobrymi outami Mateusz!
                    
                
                
            
                        Ja nie potwierdzam, dla tego jedynego pustego testu w tym zadaniu mam out:
[ukryte przez moderację]
                
                
            [ukryte przez moderację]
                        trudno się nie zgodzić
                    
                
                
            
                        Również potwierdzam,
Pozdrawiam Jallow323
                
                
            Pozdrawiam Jallow323
                        Potwierdzam wszystkie testy
                    
                
                
            
                        Oto jest 0 testów (od małych po duże) do zadania Migawka:
                    
                
                
            
                        Potwierdzam
                    
                
                
            
                        Potwierdzam
                    
                
                
            
                        Potwierdzam
                    
                
                
            
            
        
                    English