前提・実現したいこと
ABC175 C問題をbit全探索で回答を作ってみました。
発生している問題・エラーメッセージ
制約上TLEになるのは分かるが、WAも複数回出る理由がわからない
コードのどの点にその原因があるのか知りたい
該当のソースコード
C++
1include <bits/stdc++.h> 2using namespace std; 3#define rep(i, n) for(int i = 0; i < (int)(n); i++) 4 5int main(){ 6 int64_t x, k, d, ans = 10000000000000000; cin >> x >> k >> d; 7 int64_t y = x; 8 rep(i, 1 << k){ 9 rep(j, k){ 10 if((i >> j) & 1) y += d; 11 else y -= d; 12 //cout << y << endl; 13 } 14 //cout << y << endl; 15 if(y < 0) y = -y; 16 if(ans > y) ans = y; 17 y = x; 18 } 19 cout << ans << endl; 20 return 0; 21}
試したこと
サンプルコードを入力してテスト
補足情報(FW/ツールのバージョンなど)
入力される値は最大値10の15乗
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/17 13:29