#!/usr/bin/env perl # 正解していないコードですよ use strict; use warnings; use Data::Dumper; my $s = <>; chomp $s; my $n = length $s; my @sa = split //, $s . $s; my $ma = 0; sub is_op { my $ch = shift; $ch eq '+' || $ch eq '-'; } for (my $i = 0; $i < $n; $i++) { my @ea = @sa[$i..($i+$n-1)]; next if $ea[0] eq '+' || $ea[0] eq '-'; next if $ea[@ea-1] eq '+' || $ea[@ea-1] eq '-'; my @nea; my $nldz = 0; for my $c (@ea) { $nldz = 1 unless $c eq '0'; push @nea, $c if $nldz == 1; $nldz = 0 if is_op $c; } unshift @nea, '0' if is_op $nea[0]; my @nnea; for (my $i = 0; $i < @nea - 1; $i++) { push @nnea, $nea[$i]; if (is_op $nea[$i] && is_op $nea[$i+1]) { push @nnea, '0'; } } push @nnea, $nea[@nea-1]; # print join('', @nnea) . "\n"; my $cand = eval(join('', @nnea)); $ma = $cand if $ma < $cand; } print "$ma\n";