← Home
```go
package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	readInt := func() int {
		scanner.Scan()
		val, _ := strconv.Atoi(scanner.Text())
		return val
	}

	if scanner.Scan() {
		t, _ := strconv.Atoi(scanner.Text())
		for i := 0; i < t; i++ {
			n := readInt()
			var sum int64 = 0
			ops := 0
			inBlock := false

			for j := 0; j < n; j++ {
				val := readInt()
				if val < 0 {
					sum += int64(-val)
					if !inBlock {
						ops++
						inBlock = true
					}
				} else {
					sum += int64(val)
					if val > 0 {
						inBlock = false
					}
				}
			}
			fmt.Fprintln(writer, sum, ops)
		}
	}
}
```