28612023-01-30 23:27:19bencewokVideójátékgolangHibás válasz 0/100131ms56452 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álasz23ms30028 KiB
2Hibás válasz21ms30140 KiB
subtask20/10
3Elfogadva27ms31144 KiB
4Elfogadva27ms31336 KiB
5Elfogadva24ms31360 KiB
6Elfogadva23ms31348 KiB
7Hibás válasz27ms31880 KiB
8Hibás válasz24ms31864 KiB
9Elfogadva23ms31604 KiB
10Hibás válasz21ms31696 KiB
11Hibás válasz26ms32036 KiB
subtask30/20
12Hibás válasz24ms32188 KiB
13Hibás válasz21ms32292 KiB
14Hibás válasz25ms32604 KiB
15Hibás válasz24ms32484 KiB
16Hibás válasz25ms32680 KiB
17Futási hiba128ms55772 KiB
18Futási hiba128ms55096 KiB
19Futási hiba126ms55036 KiB
20Futási hiba130ms55512 KiB
21Futási hiba125ms55700 KiB
22Futási hiba123ms55728 KiB
subtask40/30
23Futási hiba123ms55800 KiB
24Futási hiba125ms55652 KiB
25Futási hiba123ms55404 KiB
26Futási hiba130ms55500 KiB
27Futási hiba130ms56164 KiB
28Futási hiba126ms55812 KiB
29Futási hiba125ms55768 KiB
30Futási hiba129ms55272 KiB
31Futási hiba129ms55380 KiB
subtask50/40
32Futási hiba125ms55876 KiB
33Futási hiba123ms55460 KiB
34Futási hiba123ms55900 KiB
35Futási hiba131ms56128 KiB
36Futási hiba127ms56152 KiB
37Futási hiba129ms56172 KiB
38Futási hiba128ms55872 KiB
39Futási hiba128ms56344 KiB
40Futási hiba125ms56376 KiB
41Futási hiba128ms56452 KiB