結果

問題 No.800 四平方定理
ユーザー 37zigen
提出日時 2019-03-17 21:58:04
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
TLE  
実行時間 -
コード長 504 bytes
コンパイル時間 1,523 ms
コンパイル使用メモリ 165,580 KB
実行使用メモリ 44,416 KB
最終ジャッジ日時 2024-07-07 22:36:17
合計ジャッジ時間 27,398 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 TLE * 1
other AC * 14 TLE * 7 -- * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

int main(){
  
  int N;
  long long D;
  std::cin>>N>>D;

  std::map<long long, int> mp1;

  for(long long x=1;x<=N;++x){
    for(long long y=1;y<=N;++y){
      if(mp1.find(x*x+y*y)==mp1.end()){
	mp1[x*x+y*y]=1;
      }else{
	++mp1[x*x+y*y];
      }
    }
  }
  
  long long ans=0;
  for(long long z=1;z<=N;++z){
    for(long long w=1;w<=N;++w){
      if(mp1.find(w*w+D-z*z)!=mp1.end()){
	ans +=mp1[w*w+D-z*z];
      }
    }
  }
  
  std::cout<<ans<<std::endl;

  return 0;
}


0