結果

問題 No.3015 右に寄せろ!
ユーザー hatsuka_iwa
提出日時 2025-02-05 00:20:52
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 54 ms / 2,000 ms
コード長 416 bytes
コンパイル時間 3,338 ms
コンパイル使用メモリ 161,788 KB
実行使用メモリ 7,184 KB
最終ジャッジ日時 2025-02-05 00:21:02
合計ジャッジ時間 6,079 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main() {
  string S; cin >> S;
  int N = S.size(), zero = 0, C = 0;
  long long Ans = 0;
  for (int i = N - 1; i >= 0; i--) {
    if (S.at(i) == '0') zero++;
    if (S.at(i) == '1') {
      int one = 0;
      while (i >= 0 && S.at(i) == '1') {
        one++;
        i--;
      }
      Ans += (long long)one / 2 * zero;
      i++;
    }
  }
  cout << Ans << endl;
}
0