結果
問題 | No.800 四平方定理 |
ユーザー | wakannyaai |
提出日時 | 2020-02-05 22:04:32 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 1,766 ms / 2,000 ms |
コード長 | 5,335 bytes |
コンパイル時間 | 1,854 ms |
コンパイル使用メモリ | 181,744 KB |
実行使用メモリ | 50,296 KB |
最終ジャッジ日時 | 2024-09-23 03:27:26 |
合計ジャッジ時間 | 23,643 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 6 ms
6,812 KB |
testcase_01 | AC | 10 ms
6,944 KB |
testcase_02 | AC | 7 ms
6,944 KB |
testcase_03 | AC | 8 ms
6,940 KB |
testcase_04 | AC | 7 ms
6,944 KB |
testcase_05 | AC | 8 ms
6,944 KB |
testcase_06 | AC | 11 ms
6,944 KB |
testcase_07 | AC | 10 ms
6,940 KB |
testcase_08 | AC | 13 ms
6,940 KB |
testcase_09 | AC | 10 ms
6,940 KB |
testcase_10 | AC | 661 ms
26,852 KB |
testcase_11 | AC | 757 ms
29,032 KB |
testcase_12 | AC | 738 ms
28,776 KB |
testcase_13 | AC | 587 ms
27,752 KB |
testcase_14 | AC | 682 ms
28,900 KB |
testcase_15 | AC | 736 ms
28,900 KB |
testcase_16 | AC | 687 ms
29,292 KB |
testcase_17 | AC | 664 ms
29,288 KB |
testcase_18 | AC | 799 ms
29,164 KB |
testcase_19 | AC | 867 ms
29,156 KB |
testcase_20 | AC | 2 ms
6,944 KB |
testcase_21 | AC | 2 ms
6,940 KB |
testcase_22 | AC | 790 ms
29,160 KB |
testcase_23 | AC | 1,648 ms
50,292 KB |
testcase_24 | AC | 1,525 ms
50,296 KB |
testcase_25 | AC | 1,766 ms
49,960 KB |
testcase_26 | AC | 2 ms
6,944 KB |
testcase_27 | AC | 2 ms
6,940 KB |
testcase_28 | AC | 1,607 ms
50,040 KB |
testcase_29 | AC | 1,632 ms
50,296 KB |
testcase_30 | AC | 1,614 ms
50,040 KB |
testcase_31 | AC | 1,385 ms
47,612 KB |
testcase_32 | AC | 1,623 ms
50,296 KB |
ソースコード
/*やったぜ。 投稿者:変態糞土方 (8月16日(水)07時14分22秒) 昨日の8月15日にいつもの浮浪者のおっさん(60歳)と先日メールくれた汚れ好きの土方のにいちゃん (45歳)とわし(53歳)の3人で県北にある川の土手の下で盛りあったぜ。 今日は明日が休みなんでコンビニで酒とつまみを買ってから滅多に人が来ない所なんで、 そこでしこたま酒を飲んでからやりはじめたんや。 3人でちんぽ舐めあいながら地下足袋だけになり持って来たいちぢく浣腸を3本ずつ入れあった。 しばらくしたら、けつの穴がひくひくして来るし、糞が出口を求めて腹の中でぐるぐるしている。 浮浪者のおっさんにけつの穴をなめさせながら、兄ちゃんのけつの穴を舐めてたら、 先に兄ちゃんがわしの口に糞をドバーっと出して来た。 それと同時におっさんもわしも糞を出したんや。もう顔中、糞まみれや、 3人で出した糞を手で掬いながらお互いの体にぬりあったり、 糞まみれのちんぽを舐めあって小便で浣腸したりした。ああ~~たまらねえぜ。 しばらくやりまくってから又浣腸をしあうともう気が狂う程気持ちええんじゃ。 浮浪者のおっさんのけつの穴にわしのちんぽを突うずるっ込んでやると けつの穴が糞と小便でずるずるして気持ちが良い。 にいちゃんもおっさんの口にちんぽ突っ込んで腰をつかって居る。 糞まみれのおっさんのちんぽを掻きながら、思い切り射精したんや。 それからは、もうめちゃくちゃにおっさんと兄ちゃんの糞ちんぽを舐めあい、 糞を塗りあい、二回も男汁を出した。もう一度やりたいぜ。 やはり大勢で糞まみれになると最高やで。こんな、変態親父と糞あそびしないか。 ああ~~早く糞まみれになろうぜ。 岡山の県北であえる奴なら最高や。わしは163*90*53,おっさんは165*75*60、や 糞まみれでやりたいやつ、至急、メールくれや。 土方姿のまま浣腸して、糞だらけでやろうや。*/ #include "bits/stdc++.h" #include <unordered_set> #include <numeric> #define rep(i,n) for(int i = 0; i < n; i++) typedef long long ll; typedef unsigned long long ull; using namespace std; #define vll vector<vector<long long>> #define vl vector<long long> #define vi vector<int> #define vii vector<vector<int>> #define pb push_back #define pf push_front #define ld long double #define Sort(a) sort(a.begin(),a.end()) #define cSort(a,cmp) sort(a.begin(),a.end(),cmp) #define reSort(a) sort(a.rbegin(), a.rend()) static const ll llMAX = numeric_limits<long long>::max(); static const int intMAX = numeric_limits<int>::max(); static const ll llMIN = numeric_limits<long long>::min(); static const int intMIN = numeric_limits<int>::min(); static const ll d_5 = 100000; static const ll d9_7 = 1000000007; static const ll d_9 = 1000000000; static const double PI=3.14159265358979323846; //<<std::setprecision(30) template<class T> void Printvector(std::vector<T> a){ int size = a.size(); rep(i,size){ cout<<a[i]<<" "; } cout<<endl; } template<class T> void Printvector(std::vector<std::vector<T>> a){ int size = a.size(); rep(i,size){ int size2=a[i].size(); rep(j,size2){ cout<<a[i][j]<<" "; } cout<<endl; } cout<<endl; } template<class T> T digitpower(T a,T b){//aのb乗を計算 int mode=1;//0が、modを取る if(b==1){ return a; }else if(b==0){ return 1; } if(b%2==1){ T tmp = digitpower(a,(b-1)/2); if(mode==0){ tmp%=d9_7; } tmp*=tmp; if(mode==0){ tmp%=d9_7; } tmp*=a; if(mode==0){ return (tmp)%d9_7; }else{ return tmp; } }else{ T tmp = digitpower(a,(b)/2); if(mode==0){ tmp%=d9_7; } tmp*=tmp; if(mode==0){ tmp%=d9_7; } if(mode==0){ return (tmp)%d9_7; }else{ return tmp; } } } unordered_map<ll,ll> prime_factor(int64_t n) { unordered_map<ll,ll> ret; for(int64_t i = 2; i * i <= n; i++) { while(n % i == 0) { ret[i]++; n /= i; } } if(n != 1) ret[n] = 1; return ret; } template<class T> vector<T> getaccum(vector<T> a,int mode){//modを取るか取らないかに注意 int size=a.size(); vector<T> ans(size); ans[0]=a[0]; for(int i=0;i<size-1;i++){ ans[i+1]=ans[i]+a[i+1]; if(mode==0){ ans[i+1]%=d9_7; } } return ans; } struct datas{ ll a; ll b; }; bool judge ( int n){ int ans=1; while(ans*ans<=n){ if(ans*ans==n){ return ans; } ans++; } return false; } int main(void){ int n,d; cin>>n>>d; int ans=0; unordered_map<int,int> nums; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(nums.find(i*i+j*j)==nums.end()){ nums.insert({i*i+j*j,1}); }else{ nums[i*i+j*j]++; } } } for(int w=1;w<=n;w++){ int tmpd=w*w+d; for(int x=1;x<=n && x*x<=tmpd-2;x++){ if(nums.find(tmpd-x*x)!=nums.end()){ ans+=nums[tmpd-x*x]; } } } cout<<ans<<endl; return 0; }