Atcoderの部分和問題でWAが出てしまいます。
Bit全探索をしようと思っているのですが、入力例2の出力が正しく出てきません。
どこが間違っているのでしょうか。
cpp
1#define _GLIBCXX_DEBUG 2#include <bits/stdc++.h> 3using namespace std; 4typedef long long ll; 5#define REP(i,n) for(ll i=0;i<(ll)(n);i++) 6#define REPD(i,n) for(ll i=(ll)(n)-1;i>=0;i--) 7#define FOR(i,a,b) for(ll i=(a);i<=(b);i++) 8#define FORD(i,a,b) for(ll i=(a);i>=(b);i--) 9#define ALL(x) (x).begin(),(x).end() //sortなどの引数を省略したい 10#define SIZE(x) ((ll)(x).size()) //sizeをsize_tからllに直しておく 11#define MAX(x) *max_element(ALL(x)) 12#define INF 1000000000000 13#define MOD 10000007 14#define PB push_back 15#define MP make_pair 16#define F first 17#define S second 18 19string S; 20 21ll solve(){ 22 ll sum=0; 23 for(int bit=0; bit < ( 1<<S.size()-1 ); bit++){ 24 int cnt=1; 25 sum += S[0] - '0'; 26 for(int i=0; i<S.size()-1; i++){ 27 if(bit & (1<<i)){ 28 cnt = 1; 29 sum += S[i+1] - '0'; 30 } 31 else{ 32 cnt *= 10; 33 sum += cnt * ( S[i+1] - '0' ); 34 } 35 } 36 } 37 return sum; 38} 39 40int main() { 41 cin >> S; 42 reverse(S.begin(), S.end()); 43 cout << solve() << endl; 44}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/06 13:28