28582023-01-30 15:34:20bencewokVideójátékgolangHibás válasz 0/100128ms56540 KiB
package main

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

func input() []int {
	var input string
	var output []int

	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	input = scanner.Text()

	inputSplit := strings.Split(input, " ")

	for i := 0; i < len(inputSplit); i++ {
		charInt, _ := strconv.Atoi(inputSplit[i])
		output = append(output, charInt)
	}

	return output
}

func main() {
	var aBreaks, yBreaks []int
	var boretime, boretimeNow, aLenght, yLenght, output int

	boretime = input()[0]

	aLenght = input()[0]

	for i := 0; i < aLenght; i++ {
		ln := input()
		aBreaks = append(aBreaks, ln[0])
		aBreaks = append(aBreaks, ln[1])
	}

	yLenght = input()[0]

	for i := 0; i < yLenght; i++ {
		ln := input()
		yBreaks = append(yBreaks, ln[0])
		yBreaks = append(yBreaks, ln[1])
	}


	//chart creation
	var max int

	for i := 1; i < len(yBreaks); i++ {
		if max < yBreaks[i] {
			max = yBreaks[i]
		}
	}

	for i := 1; i < len(aBreaks); i++ {
		if max < aBreaks[i] {
			max = aBreaks[i]
		}
	}
	charta := make([]int, max)
	charty := make([]int, max)

	q, u := 1, 0
	for {

		if q > len(aBreaks) {
			break
		}

		charta[aBreaks[q]-u-1] = 1

		if aBreaks[q]-u == aBreaks[q-1] {
			u = 0
			q = q + 2
		} else {
			u++
		}
		//fmt.Println(charta)
	}

	q, u = 1, 0
	for {
		if q > len(yBreaks) {
			break
		}

		charty[yBreaks[q]-u-1] = 1

		if yBreaks[q]-u == yBreaks[q-1] {
			u = 0
			q = q + 2
		} else {
			u++
		}
		//fmt.Println(charty)
	}

	var index int

	//fmt.Println(charta)
	//fmt.Println(charty)

	for i := 0; i < len(charta); i++ {
		if boretime == boretimeNow {
			index = i
			for charta[index] != 0 {
				charta[index] = 0
				index++
			}
			boretimeNow = 0
		}

		if charta[i] == 1 && charta[i] != charty[i] {
			boretimeNow++
		}

	}

	for i := 0; i < len(charta); i++ {
		if charta[i] == 1 && charta[i] == charty[i] {
			output++
		}
	}

	//fmt.Println(charta)
	//fmt.Println(charty)

	fmt.Println(output)
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz27ms29932 KiB
2Hibás válasz26ms30396 KiB
subtask20/10
3Elfogadva28ms30912 KiB
4Elfogadva27ms31092 KiB
5Elfogadva25ms31160 KiB
6Elfogadva25ms31016 KiB
7Hibás válasz26ms30832 KiB
8Hibás válasz26ms31536 KiB
9Elfogadva25ms31196 KiB
10Hibás válasz26ms31720 KiB
11Hibás válasz24ms32072 KiB
subtask30/20
12Hibás válasz25ms32048 KiB
13Hibás válasz26ms32236 KiB
14Hibás válasz24ms32572 KiB
15Hibás válasz25ms32300 KiB
16Hibás válasz25ms32336 KiB
17Futási hiba128ms54468 KiB
18Futási hiba125ms54752 KiB
19Futási hiba128ms54536 KiB
20Futási hiba128ms54924 KiB
21Futási hiba125ms54724 KiB
22Futási hiba128ms54360 KiB
subtask40/30
23Futási hiba125ms54540 KiB
24Futási hiba128ms54844 KiB
25Futási hiba125ms55396 KiB
26Futási hiba128ms55204 KiB
27Futási hiba128ms55624 KiB
28Futási hiba125ms55588 KiB
29Futási hiba128ms55120 KiB
30Futási hiba128ms55996 KiB
31Futási hiba125ms55276 KiB
subtask50/40
32Futási hiba128ms55844 KiB
33Futási hiba125ms55576 KiB
34Futási hiba123ms55744 KiB
35Futási hiba128ms56036 KiB
36Futási hiba123ms55876 KiB
37Futási hiba122ms56016 KiB
38Futási hiba128ms55772 KiB
39Futási hiba128ms56540 KiB
40Futási hiba125ms55968 KiB
41Futási hiba122ms56492 KiB