Submission #2225049
Source Code Expand
package main import ( "bufio" "fmt" "io" "log" "os" "strconv" "strings" ) func countToOperation(txts []string) (int64, error) { var res int64 = 0 for _, txt := range txts { num, err := strconv.ParseInt(txt, 0, 64) if err != nil { return res, err } // 何回割り切れたか var cnt int64 = 0 for { if num == 0 || num%2 == 1 { break } cnt++ num = num / 2 } // 1回も割り切れないなら終了 if cnt == 0 { return 0, nil } // 最終結果が現在値よりも低い場合は更新 if res == 0 || cnt < res { res = cnt } } return res, nil } func Run(in io.Reader, out io.Writer) error { sc := bufio.NewScanner(in) _ = sc.Scan() for sc.Scan() { line := sc.Text() a := strings.Split(line, " ") cnt, err := countToOperation(a) if err != nil { return err } fmt.Fprintf(out, "%d\n", cnt) return nil } return nil } func main() { err := Run(os.Stdin, os.Stdout) if err != nil { log.Fatal(err) } }
Submission Info
Submission Time | |
---|---|
Task | B - Shift only |
User | mijime0523 |
Language | Go (1.6) |
Score | 200 |
Code Size | 1068 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 640 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
1.txt | AC | 1 ms | 640 KB |
2.txt | AC | 1 ms | 640 KB |
3.txt | AC | 1 ms | 640 KB |
4.txt | AC | 1 ms | 640 KB |
5.txt | AC | 1 ms | 640 KB |
6.txt | AC | 1 ms | 640 KB |
7.txt | AC | 1 ms | 640 KB |
sample1.txt | AC | 1 ms | 640 KB |
sample2.txt | AC | 1 ms | 640 KB |
sample3.txt | AC | 1 ms | 640 KB |