結果
問題 |
No.9008 空白区切りで与えられる数値データの合計値を求める(テスト用)
|
ユーザー |
|
提出日時 | 2017-07-12 09:12:12 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 36 ms / 2,000 ms |
コード長 | 1,832 bytes |
コンパイル時間 | 10,907 ms |
コンパイル使用メモリ | 238,704 KB |
実行使用メモリ | 15,488 KB |
最終ジャッジ日時 | 2024-10-07 16:37:49 |
合計ジャッジ時間 | 11,941 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
ソースコード
// // author: Leonardone @ NEETSDKASU package main import ( "bufio"; "fmt"; "os"; "strconv"; "strings" ) func atoi(s string) int { v, _ := strconv.Atoi(s); return v } func atou(s string) uint64 { v, _ := strconv.ParseUint(s, 10, 64); return v } func atof(s string) float64 { v, _ := strconv.ParseFloat(s, 64); return v } func max(a, b int) int { if a > b { return a }; return b } func min(a, b int) int { if a < b { return a }; return b } var (_ = fmt.Println; _red = bufio.NewScanner(os.Stdin); _tok []string) func init() { _red.Buffer(make([]byte, 1e7), 1e7) } func gettok() (t string, e bool) { if len(_tok) == 0 { if !_red.Scan() { return }; _tok = strings.Split(_red.Text(), " ") } t = _tok[0]; _tok = _tok[1:]; e = len(_tok) == 0; return } func read(vs ...interface{}) { for _, v := range vs { switch v := v.(type) { case *int: t, _ := gettok(); *v = atoi(t) case *uint64: t, _ := gettok(); *v = atou(t) case *float64: t, _ := gettok(); *v = atof(t) case *string: *v, _ = gettok() case *[]int: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atoi(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atoi(t) } } case *[]uint64: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atou(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atou(t) } } case *[]float64: if len(*v) == 0 { for { t, e := gettok(); *v = append(*v, atof(t)); if e { break } } } else { for j := range *v { t, _ := gettok(); (*v)[j] = atof(t) } } case *[]string: if len(*v) == 0 { *v = append(*v, _tok...); _tok = _tok[:0] } else { for j := range *v { (*v)[j], _ = gettok() } } } } } func main() { var n int read(&n) xs := make([]uint64, 0, n) read(&xs) sum := uint64(0) for _, x := range xs { sum += x } fmt.Println(sum) }