結果
| 問題 |
No.3015 右に寄せろ!
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-01-31 18:24:14 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
AC
|
| 実行時間 | 22 ms / 2,000 ms |
| コード長 | 545 bytes |
| コンパイル時間 | 1,680 ms |
| コンパイル使用メモリ | 159,492 KB |
| 実行使用メモリ | 8,696 KB |
| 最終ジャッジ日時 | 2025-01-31 18:24:18 |
| 合計ジャッジ時間 | 3,407 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 36 |
ソースコード
import std;
void main () {
string S = readln.chomp.dup.reverse.idup;
int acc = 0;
const int N = S.length.to!int;
long ans = 0;
foreach (ref i; 0 .. N) {
if (S[i] == '0') acc++;
if (i + 1 < N && S[i] == '1' && S[i + 1] == '1') {
ans += acc;
i++;
}
}
writeln(ans);
}
void read (T...) (string S, ref T args) {
import std.conv : to;
import std.array : split;
auto buf = S.split;
foreach (i, ref arg; args) {
arg = buf[i].to!(typeof(arg));
}
}