Submission #7094040


Source Code Expand

package main

import (
	"bufio"
	"fmt"
	"math"
	"os"
	"strconv"
)

const pi = math.Pi

var mod int = pow(10, 9) + 7
var Umod uint64 = 1000000007
var ans, cnt, sum int

func main() {
	reader.Split(bufio.ScanWords)
	Y, _ := strconv.Atoi(read())

	if (Y%4 == 0 && Y%100 != 0) || Y%400 == 0 {
		fmt.Println("YES")
	} else {
		fmt.Println("NO")
	}
}

/*  ----------------------------------------  */

var reader = bufio.NewScanner(os.Stdin)

func read() string {
	reader.Scan()
	return reader.Text()
}

func lcm(x, y int) int {
	return (x / gcd(x, y)) * y
}

func gcd(x, y int) int {
	if x%y == 0 {
		return y
	} else {
		r := x % y
		return gcd(y, r)
	}
}

var fac [1000000]int
var finv [1000000]int
var inv [1000000]int

func combination_init() {
	fac[0], fac[1] = 1, 1
	finv[0], finv[1] = 1, 1
	inv[1] = 1

	// invは a^(-1) mod p
	// pをaで割ることを考える

	// p/a*(a) + p%a = p
	// p/a*(a) + p%a = 0          (mod p)
	// -p%a = p/a*(a)             (mod p)
	// -p%a *a^(-1)= p/a          (mod p)
	// a^(-1)= p/a * (-p%a)^(-1)  (mod p)
	// a^(-1) =

	for i := 2; i < 1000000; i++ {
		fac[i] = fac[i-1] * i % mod
		inv[i] = mod - inv[mod%i]*(mod/i)%mod
		finv[i] = finv[i-1] * inv[i] % mod
	}
}

func combination(x, y int) int {
	if x < y {
		return 0
	}
	if fac[0] != 1 {
		combination_init()
	}
	return fac[x] * (finv[y] * finv[x-y] % mod) % mod
	//return fac[x] / (fac[y] * fac[x-y])
}

func permutation(x, y int) int {
	if x < y {
		return 0
	}
	if fac[0] != 1 {
		combination_init()
	}
	return fac[x] * (finv[x-y] % mod) % mod
	//return fac[x] / fac[x-y]
}

func max(x ...int) int {
	var res int = x[0]
	for i := 1; i < len(x); i++ {
		res = int(math.Max(float64(x[i]), float64(res)))
	}
	return res
}

func min(x ...int) int {
	var res int = x[0]
	for i := 1; i < len(x); i++ {
		res = int(math.Min(float64(x[i]), float64(res)))
	}
	return res
}
func pow(x, y int) int { return int(math.Pow(float64(x), float64(y))) }
func abs(x int) int    { return int(math.Abs(float64(x))) }
func floor(x int) int  { return int(math.Floor(float64(x))) }
func ceil(x int) int   { return int(math.Ceil(float64(x))) }

type SortBy []int

func (a SortBy) Len() int           { return len(a) }
func (a SortBy) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func (a SortBy) Less(i, j int) bool { return a[i] < a[j] }

type PriorityQueue []int

func (h PriorityQueue) Len() int            { return len(h) }
func (h PriorityQueue) Less(i, j int) bool  { return h[i] < h[j] }
func (h PriorityQueue) Swap(i, j int)       { h[i], h[j] = h[j], h[i] }
func (h *PriorityQueue) Push(x interface{}) { *h = append(*h, x.(int)) }
func (h *PriorityQueue) Pop() interface{} {
	old := *h
	n := len(old)
	x := old[n-1]
	*h = old[0 : n-1]
	return x
}

Submission Info

Submission Time
Task A - うるう年
User Kosuke_S
Language Go (1.6)
Score 100
Code Size 2865 Byte
Status AC
Exec Time 2 ms
Memory 640 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 44
Set Name Test Cases
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_100_00.txt, 02_100_01.txt, 02_100_02.txt, 02_100_03.txt, 02_100_04.txt, 02_100_05.txt, 02_100_06.txt, 02_100_07.txt, 02_100_08.txt, 02_100_09.txt, 02_100_10.txt, 02_100_11.txt, 02_100_12.txt, 02_100_13.txt, 02_100_14.txt, 02_100_15.txt, 02_100_16.txt, 02_100_17.txt, 02_100_18.txt, 02_100_19.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 640 KB
00_sample_01.txt AC 1 ms 640 KB
00_sample_02.txt AC 1 ms 640 KB
00_sample_03.txt AC 1 ms 640 KB
01_rnd_00.txt AC 1 ms 640 KB
01_rnd_01.txt AC 1 ms 640 KB
01_rnd_02.txt AC 1 ms 640 KB
01_rnd_03.txt AC 1 ms 640 KB
01_rnd_04.txt AC 1 ms 640 KB
01_rnd_05.txt AC 1 ms 640 KB
01_rnd_06.txt AC 1 ms 640 KB
01_rnd_07.txt AC 1 ms 640 KB
01_rnd_08.txt AC 1 ms 640 KB
01_rnd_09.txt AC 1 ms 640 KB
01_rnd_10.txt AC 1 ms 640 KB
01_rnd_11.txt AC 1 ms 640 KB
01_rnd_12.txt AC 1 ms 640 KB
01_rnd_13.txt AC 1 ms 640 KB
01_rnd_14.txt AC 1 ms 640 KB
01_rnd_15.txt AC 1 ms 640 KB
01_rnd_16.txt AC 1 ms 640 KB
01_rnd_17.txt AC 1 ms 640 KB
01_rnd_18.txt AC 1 ms 640 KB
01_rnd_19.txt AC 1 ms 640 KB
02_100_00.txt AC 1 ms 640 KB
02_100_01.txt AC 1 ms 640 KB
02_100_02.txt AC 1 ms 640 KB
02_100_03.txt AC 1 ms 640 KB
02_100_04.txt AC 1 ms 640 KB
02_100_05.txt AC 1 ms 640 KB
02_100_06.txt AC 1 ms 640 KB
02_100_07.txt AC 1 ms 640 KB
02_100_08.txt AC 1 ms 640 KB
02_100_09.txt AC 1 ms 640 KB
02_100_10.txt AC 1 ms 640 KB
02_100_11.txt AC 1 ms 640 KB
02_100_12.txt AC 1 ms 640 KB
02_100_13.txt AC 1 ms 640 KB
02_100_14.txt AC 1 ms 640 KB
02_100_15.txt AC 1 ms 640 KB
02_100_16.txt AC 2 ms 640 KB
02_100_17.txt AC 1 ms 640 KB
02_100_18.txt AC 1 ms 640 KB
02_100_19.txt AC 1 ms 640 KB