結果

問題 No.335 門松宝くじ
ユーザー LeonardoneLeonardone
提出日時 2016-01-16 00:00:52
言語 Go
(1.22.1)
結果
WA  
実行時間 -
コード長 2,736 bytes
コンパイル時間 11,548 ms
コンパイル使用メモリ 224,112 KB
実行使用メモリ 6,816 KB
最終ジャッジ日時 2024-10-10 20:35:22
合計ジャッジ時間 11,948 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,816 KB
testcase_01 AC 1 ms
5,248 KB
testcase_02 AC 1 ms
5,248 KB
testcase_03 AC 1 ms
5,248 KB
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 AC 1 ms
5,248 KB
testcase_08 WA -
testcase_09 AC 1 ms
5,248 KB
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

/* yukicoder My Practice
 * author: Leonardone @ NEETSDKASU
 */
package main

import (
    "bufio"; "os"; "strconv"; "strings"
    "fmt"
)

func solve(mr *MyReader) {
    
    n, m := I2(mr.Gis())
    
    ansidx := 0
    ansval := 0
    
    for i, es := range mr.NGis(m) {
        mx, _ := MaxElem(es)
        if es[0] != mx && es[n - 1] != mx && mx > ansval{
            ansidx = i
            ansval = mx
        }
    }
    
    fmt.Println(ansidx)
}

//////////////////////////////////////////////////////////////////
// 別に fmt.Scanf() を使ってもいいんだけどね、無駄に定義しまくり
func Ti(s string) (v int) { v, _ = strconv.Atoi(s); return }
func Tl(s string) (v int64) { v, _ = strconv.ParseInt(s, 10, 64); return }
type MyReader struct { scn *bufio.Scanner }
func NewMyReader()  (mr *MyReader) { mr = new(MyReader); mr.scn = bufio.NewScanner(os.Stdin); return }
func (mr *MyReader) Gs()  string   { mr.scn.Scan(); return mr.scn.Text() }
func (mr *MyReader) Gi()  int      { return Ti(mr.Gs()) }
func (mr *MyReader) Gl()  int64    { return Tl(mr.Gs()) }
func (mr *MyReader) Gss() []string { return strings.Split(mr.Gs(), " ") }
func (mr *MyReader) Gis()       (vs  []int)      { for _, v := range mr.Gss() { vs = append(vs, Ti(v)) };  return }
func (mr *MyReader) NGs(n int)  (ss  []string)   { for i := 0; i < n; i++ { ss  = append(ss,  mr.Gs()) };  return }
func (mr *MyReader) NGi(n int)  (vs  []int)      { for i := 0; i < n; i++ { vs  = append(vs,  mr.Gi()) };  return }
func (mr *MyReader) NGss(n int) (sss [][]string) { for i := 0; i < n; i++ { sss = append(sss, mr.Gss()) }; return }
func (mr *MyReader) NGis(n int) (vss [][]int)    { for i := 0; i < n; i++ { vss = append(vss, mr.Gis()) }; return }

func Bind(vs []int, v ...*int) { for i := range v { *v[i] = vs[i] } }
func I2(a []int) (int, int) { return a[0], a[1] }
func I3(a []int) (int, int, int) { return a[0], a[1], a[2] }
func I4(a []int) (int, int, int, int) { return a[0], a[1], a[2], a[3] }
func I5(a []int) (int, int, int, int, int) { return a[0], a[1], a[2], a[3], a[4] }

func Min(v int, vs ...int) (r int) { r = v; for _, x := range vs { if x < r { r = x } }; return }
func Max(v int, vs ...int) (r int) { r = v; for _, x := range vs { if x > r { r = x } }; return }
func MinMax(v int, vs ...int) (mn, mx int) { mn, mx = v, v; for _, x := range vs { if x < mn { mn = x } else if x > mx { mx = x } }; return }
func MinElem(vs []int) (v int, e bool) { if e = len(vs) > 0; !e { return }; v = vs[0]; for _, x := range vs[1:] { v = Min(x, v) }; return }
func MaxElem(vs []int) (v int, e bool) { if e = len(vs) > 0; !e { return }; v = vs[0]; for _, x := range vs[1:] { v = Max(x, v) }; return }

func main() { solve(NewMyReader()) }

0