結果
問題 | No.152 貯金箱の消失 |
ユーザー |
|
提出日時 | 2016-01-24 15:38:59 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 338 ms / 5,000 ms |
コード長 | 934 bytes |
コンパイル時間 | 603 ms |
コンパイル使用メモリ | 73,484 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-21 15:10:47 |
合計ジャッジ時間 | 5,410 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 |
ソースコード
#include <iostream>#include <string>#include <vector>#include <queue>#include <stack>#include <map>#include <algorithm>#include <set>#include <sstream>#include <utility>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <climits>using namespace std;typedef long long ll;#define FOR(i,a,b) for(int i=(a);i<(b);++i)#define REP(i,n) for(int i=0;i<(n);++i)#define foreach(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); itr++)long gcd(long p, long q){if(p<q) swap(p,q);while(q!=0){long tmp=q;q=p%q;p=tmp;}return p;}int main(int argc, char const *argv[]) {long L;const int mod = 1000003;cin >>L;int ans=0;for(long m=2; m<=3500; ++m){for(long n=1; n<m; ++n){if((m-n)%2==0 || gcd(m,n)>1) continue;if(8*m*(m+n)<=L) ++ans;}ans%=mod;}std::cout << ans << std::endl;return 0;}