結果

問題 No.152 貯金箱の消失
コンテスト
ユーザー hotpepsi
提出日時 2015-09-22 00:50:37
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
TLE  
実行時間 -
コード長 501 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 444 ms
コンパイル使用メモリ 81,928 KB
実行使用メモリ 89,896 KB
最終ジャッジ日時 2026-04-02 15:31:21
合計ジャッジ時間 9,682 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge4_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 5 TLE * 1 -- * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <iostream>
#include <sstream>
#include <cmath>

using namespace std;

int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }

int main(int argc, char *argv[])
{
	int N;
	cin >> N;
	N /= 4;
	int ans = 0;
	for (int a = 3; a < N; ++a) {
		for (int b = a + 1; ; ++b) {
			if (gcd(a, b) != 1) {
				continue;
			}
			int d = a * a + b * b;
			int c = (int)sqrt(d);
			if (a + b + c > N) {
				break;
			}
			if (c * c == d) {
				++ans;
			}
		}
	}
	cout << (ans % 1000003) << endl;
	return 0;
}
0