Submission #30531595


Source Code Expand

// Code generated by Gottani; see https://github.com/ktateish/gottani/. DO NOT EDIT.
package main

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

//line github.com/Warashi/go-atcoder/lib/min.go:5
func Min(is []int64) int64 {
	var m int64 = math.MaxInt64
	for _, i := range is {
		if i < m {
			m = i
		}
	}
	return m
}

//line main.go:13
func can(L, K, min, score int64, ls []int64) bool {
	if score < min {
		return false
	}
	if score*(K+1) > L {
		return false
	}
	var sum, piece int64
	for _, l := range ls {
		sum += l
		if sum >= score {
			piece++
			sum = 0
		}
	}
	return piece >= K+1
}

func split(L int64, A []int64) []int64 {
	var l int64
	r := make([]int64, 0, len(A)+1)
	for _, a := range A {
		r = append(r, a-l)
		l = a
	}
	r = append(r, L-A[len(A)-1])
	return r
}

func solve(N int64, L int64, K int64, A []int64) {
	ls := split(L, A)
	min := Min(ls)
	fmt.Println(sort.Search(int(L), func(score int) bool { return !can(L, K, min, int64(score), ls) }) - 1)
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	const initialBufSize = 4096
	const maxBufSize = 1000000
	scanner.Buffer(make([]byte, initialBufSize), maxBufSize)
	scanner.Split(bufio.ScanWords)
	var N int64
	scanner.Scan()
	N, _ = strconv.ParseInt(scanner.Text(), 10, 64)
	var L int64
	scanner.Scan()
	L, _ = strconv.ParseInt(scanner.Text(), 10, 64)
	var K int64
	scanner.Scan()
	K, _ = strconv.ParseInt(scanner.Text(), 10, 64)
	A := make([]int64, N)
	for i := int64(0); i < N; i++ {
		scanner.Scan()
		A[i], _ = strconv.ParseInt(scanner.Text(), 10, 64)
	}
	solve(N, L, K, A)
}

Submission Info

Submission Time
Task 001 - Yokan Party(★4)
User warashi
Language Go (1.14.1)
Score 4
Code Size 1573 Byte
Status AC
Exec Time 33 ms
Memory 5024 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 4 / 4
Status
AC × 5
AC × 29
Set Name Test Cases
Sample 01_01_sample_picture_01.txt, 01_02_sample_01.txt, 01_02_sample_02.txt, 01_02_sample_03.txt, 01_02_sample_04.txt
All 01_01_sample_picture_01.txt, 01_02_sample_01.txt, 01_02_sample_02.txt, 01_02_sample_03.txt, 01_02_sample_04.txt, 02_fixed_01.txt, 02_fixed_02.txt, 02_fixed_03.txt, 03_k_sensitive_01.txt, 03_k_sensitive_02.txt, 03_k_sensitive_03.txt, 03_k_sensitive_04.txt, 04_random_small_01.txt, 04_random_small_02.txt, 04_random_small_03.txt, 05_random_bias_01.txt, 05_random_bias_02.txt, 05_random_bias_03.txt, 06_random_01.txt, 06_random_02.txt, 06_random_03.txt, 06_random_04.txt, 07_random_max_01.txt, 07_random_max_02.txt, 07_random_max_03.txt, 07_random_max_04.txt, 08_equally_01.txt, 08_equally_02.txt, 09_max_01.txt
Case Name Status Exec Time Memory
01_01_sample_picture_01.txt AC 6 ms 1772 KiB
01_02_sample_01.txt AC 1 ms 1760 KiB
01_02_sample_02.txt AC 1 ms 1756 KiB
01_02_sample_03.txt AC 1 ms 1768 KiB
01_02_sample_04.txt AC 2 ms 1776 KiB
02_fixed_01.txt AC 1 ms 1756 KiB
02_fixed_02.txt AC 24 ms 3912 KiB
02_fixed_03.txt AC 29 ms 5024 KiB
03_k_sensitive_01.txt AC 2 ms 1756 KiB
03_k_sensitive_02.txt AC 2 ms 1756 KiB
03_k_sensitive_03.txt AC 2 ms 1780 KiB
03_k_sensitive_04.txt AC 2 ms 1780 KiB
04_random_small_01.txt AC 1 ms 1768 KiB
04_random_small_02.txt AC 1 ms 1760 KiB
04_random_small_03.txt AC 3 ms 1764 KiB
05_random_bias_01.txt AC 26 ms 4184 KiB
05_random_bias_02.txt AC 33 ms 5008 KiB
05_random_bias_03.txt AC 30 ms 5008 KiB
06_random_01.txt AC 30 ms 4832 KiB
06_random_02.txt AC 27 ms 4080 KiB
06_random_03.txt AC 25 ms 4888 KiB
06_random_04.txt AC 29 ms 4768 KiB
07_random_max_01.txt AC 31 ms 4928 KiB
07_random_max_02.txt AC 28 ms 4928 KiB
07_random_max_03.txt AC 25 ms 4936 KiB
07_random_max_04.txt AC 29 ms 4928 KiB
08_equally_01.txt AC 31 ms 4932 KiB
08_equally_02.txt AC 24 ms 3904 KiB
09_max_01.txt AC 29 ms 5020 KiB