結果
問題 |
No.800 四平方定理
|
ユーザー |
![]() |
提出日時 | 2019-03-17 22:05:09 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 641 bytes |
コンパイル時間 | 1,554 ms |
コンパイル使用メモリ | 170,516 KB |
実行使用メモリ | 132,896 KB |
最終ジャッジ日時 | 2024-07-07 23:08:30 |
合計ジャッジ時間 | 5,560 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 TLE * 1 |
other | AC * 10 TLE * 11 -- * 9 |
ソースコード
#include <bits/stdc++.h> #define int long long #define ll long long #define rep(i,n) for(int i=0;i<n;i++) #define INF LLONG_MAX/3 #define eps LDBL_EPSILON #define moder (1000000007) #define pie acos(-1) #define P std::pair<int,int> #define prique priority_queue #define ggr getchar();getchar();return 0; using namespace std; int n,d; set<int> st; map<int,int> mp; signed main(){ cin>>n>>d; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ mp[i*i+j*j]++; st.insert(i*i+j*j); } } int ans=0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(st.find(i*i-j*j+d)!=st.end())ans+=mp[i*i-j*j+d]; } } cout<<ans<<endl; return 0; }