Submission #3695910


Source Code Expand

import std.algorithm;
import std.array;
import std.conv;
import std.math;
import std.range;
import std.stdio;
import std.string;
import std.typecons;

T read(T)() { return readln.chomp.to!T; }
T[] reads(T)() { return readln.split.to!(T[]); }
alias readint = read!int;
alias readints = reads!int;

int calc(string s) {
    int p = cast(int) s.indexOf('I');
    if (p == -1) return 0;

    int len = 1;
    int bit = 1; // I=1, O=0
    for (int i = p + 1; i < s.length; i++) {
        if (bit && s[i] == 'O') {
            bit ^= 1;
            len++;
        }
        else if (!bit && s[i] == 'I') {
            bit ^= 1;
            len++;
        }
    }

    // O が終端なら、ひとつポップして I を終端にする
    if (!bit) len--;
    return len;
}

void main() {
    auto s = read!string;
    writeln(calc(s));
}

Submission Info

Submission Time
Task A - IOI列車で行こう2
User noriok
Language D (DMD64 v2.070.1)
Score 100
Code Size 875 Byte
Status AC
Exec Time 1 ms
Memory 380 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 3
AC × 12
AC × 21
Set Name Test Cases
Sample sample_1.txt, sample_2.txt, sample_3.txt
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, sub1_1.txt, sub1_2.txt, sub1_3.txt, sub1_4.txt, sub1_5.txt, sub1_6.txt, sub1_7.txt, sub1_8.txt, sub1_9.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, sub1_1.txt, sub1_2.txt, sub1_3.txt, sub1_4.txt, sub1_5.txt, sub1_6.txt, sub1_7.txt, sub1_8.txt, sub1_9.txt, sub2_1.txt, sub2_2.txt, sub2_3.txt, sub2_4.txt, sub2_5.txt, sub2_6.txt, sub2_7.txt, sub2_8.txt, sub2_9.txt
Case Name Status Exec Time Memory
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt AC 1 ms 256 KB
sub1_1.txt AC 1 ms 256 KB
sub1_2.txt AC 1 ms 256 KB
sub1_3.txt AC 1 ms 256 KB
sub1_4.txt AC 1 ms 256 KB
sub1_5.txt AC 1 ms 256 KB
sub1_6.txt AC 1 ms 256 KB
sub1_7.txt AC 1 ms 256 KB
sub1_8.txt AC 1 ms 256 KB
sub1_9.txt AC 1 ms 256 KB
sub2_1.txt AC 1 ms 256 KB
sub2_2.txt AC 1 ms 256 KB
sub2_3.txt AC 1 ms 256 KB
sub2_4.txt AC 1 ms 256 KB
sub2_5.txt AC 1 ms 256 KB
sub2_6.txt AC 1 ms 256 KB
sub2_7.txt AC 1 ms 256 KB
sub2_8.txt AC 1 ms 380 KB
sub2_9.txt AC 1 ms 380 KB