結果
問題 | No.73 helloworld |
ユーザー |
![]() |
提出日時 | 2020-03-05 15:05:10 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 1,796 bytes |
コンパイル時間 | 15,524 ms |
コンパイル使用メモリ | 232,028 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-14 01:15:21 |
合計ジャッジ時間 | 15,488 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
package mainimport ("bufio""fmt""math""os""strconv")func exec(stdin *Stdin, stdout *Stdout) {d := map[rune]int{}for ch := 'a'; ch <= 'z'; ch++ {d[ch] = stdin.ReadInt()}if d['h'] < 1 || d['e'] < 1 || d['w'] < 1 || d['r'] < 1 || d['d'] < 1 || d['l'] < 3 || d['o'] < 2 {stdout.Println(0)return}// llmax := 0for i := 0; i <= d['l']; i++ {j := d['l'] - iif i < 2 || j < 1 {continue}lmax = Max(lmax, i*(i-1)/2*j)}omax := 0for i := 0; i <= d['o']; i++ {j := d['o'] - iif i < 1 || j < 1 {continue}omax = Max(omax, i*j)}sum := 1sum *= d['h']sum *= d['e']sum *= d['w']sum *= d['r']sum *= d['d']sum *= lmaxsum *= omaxstdout.Println(sum)}func Max(a ...int) int {v := a[0]for i := 1; i < len(a); i++ {if v < a[i] {v = a[i]}}return v}func main() {stdout := NewStdout()defer stdout.Flush()exec(NewStdin(bufio.ScanWords), stdout)}type Stdin struct {stdin *bufio.Scanner}func NewStdin(split bufio.SplitFunc) *Stdin {s := Stdin{bufio.NewScanner(os.Stdin)}s.stdin.Split(split)s.stdin.Buffer(make([]byte, bufio.MaxScanTokenSize), int(math.MaxInt32))return &s}func (s *Stdin) Read() string {s.stdin.Scan()return s.stdin.Text()}func (s *Stdin) ReadInt() int {n, _ := strconv.Atoi(s.Read())return n}func (s *Stdin) ReadFloat64() float64 {n, _ := strconv.ParseFloat(s.Read(), 64)return n}type Stdout struct {stdout *bufio.Writer}func NewStdout() *Stdout {return &Stdout{bufio.NewWriter(os.Stdout)}}func (s *Stdout) Flush() {s.stdout.Flush()}func (s *Stdout) Println(a ...interface{}) {fmt.Fprintln(s.stdout, a...)}func Min(a ...int) int {v := a[0]for i := 1; i < len(a); i++ {if a[i] < v {v = a[i]}}return v}