Untitled
unknown
c_cpp
a year ago
1.8 kB
7
Indexable
#include <bits/stdc++.h> using namespace std; #define ll long long #define all(x) x.begin(), x.end() #define endl '\n' #define file(in, out) \ freopen(in, "r", stdin); \ freopen(out, "w", stdout) #define FIn \ cin.tie(0); \ cout.tie(0); \ ios_base::sync_with_stdio(false) int tc; const bool MULTI_TESTS = true; const string IN = "input.txt"; const string OUT = "output.txt"; const int N = 1e6 + 10; const int MOD = 1e9 + 7; void pre(); //check MAX_N int n; string s; void solve() { vector<ll> diff; cin >> s; n = s.size(); diff.resize(n + 5); for(int i = 0; i < n; ++i){ if(s[i] == '0') continue; ll prf = i + 1; ll lstPos = n - i; diff[0] += prf; diff[lstPos] -= prf; } for(int i = 1; i < n + 2; ++i) diff[i] += diff[i - 1]; ll carry = 0; string ans; for(int i = 0; i < n + 1; ++i){ diff[i] += carry; // if(diff[i] == 0) // break; ans.push_back(char((diff[i] & 1ll) + '0')); carry = diff[i] / 2; } reverse(all(ans)); cout<<ans<<'\n'; } int main() { FIn; #ifndef ONLINE_JUDGE file(IN.c_str(), OUT.c_str()); #endif tc = 1; if (MULTI_TESTS) cin >> tc; pre(); for (int i = 1; i <= tc; i++) { // cout << "Case " << i <<": \n"; solve(); } } void pre() { }
Editor is loading...
Leave a Comment