結果
問題 | No.414 衝動 |
ユーザー |
![]() |
提出日時 | 2016-08-26 22:48:32 |
言語 | C++11 (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 463 bytes |
コンパイル時間 | 1,693 ms |
コンパイル使用メモリ | 157,664 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-08 14:42:56 |
合計ジャッジ時間 | 3,998 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 9 RE * 4 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:13:52: warning: iteration 999999 invokes undefined behavior [-Waggressive-loop-optimizations] 13 | for (int i=2; i<=1000001; i++) is_prime[i] = true; | ~~~~~~~~~~~~^~~~~~ main.cpp:13:24: note: within this loop 13 | for (int i=2; i<=1000001; i++) is_prime[i] = true; | ~^~~~~~~~~ main.cpp:13:52: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing 1000000 bytes into a region of size 999999 overflows the destination [-Wstringop-overflow=] 13 | for (int i=2; i<=1000001; i++) is_prime[i] = true; | ~~~~~~~~~~~~^~~~~~ main.cpp:6:6: note: at offset 2 into destination object ‘is_prime’ of size 1000001 6 | bool is_prime[1000001]; | ^~~~~~~~
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<n;i++) #define int long long using namespace std; bool is_prime[1000001]; int M; signed main() { cin >> M; for (int i=2; i<=1000001; i++) is_prime[i] = true; for (int i=2; i<=1000001; i++) { if (is_prime[i]) { if (M % i == 0) { cout << i << " " << M / i << endl; return 0; } for (int j=i*2; j<=1000001; j+=i) { is_prime[j] = false; } } } cout << 1 << " " << M << endl; }