結果
問題 | No.1021 Children in Classrooms |
ユーザー | conf8o |
提出日時 | 2020-04-16 16:46:55 |
言語 | Swift (5.10.0) |
結果 |
AC
|
実行時間 | 241 ms / 2,000 ms |
コード長 | 2,338 bytes |
コンパイル時間 | 2,418 ms |
コンパイル使用メモリ | 185,796 KB |
実行使用メモリ | 36,024 KB |
最終ジャッジ日時 | 2024-05-07 21:08:49 |
合計ジャッジ時間 | 5,741 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 11 ms
15,616 KB |
testcase_01 | AC | 11 ms
15,872 KB |
testcase_02 | AC | 11 ms
15,616 KB |
testcase_03 | AC | 13 ms
15,616 KB |
testcase_04 | AC | 13 ms
15,744 KB |
testcase_05 | AC | 13 ms
15,744 KB |
testcase_06 | AC | 13 ms
15,488 KB |
testcase_07 | AC | 13 ms
15,616 KB |
testcase_08 | AC | 13 ms
15,604 KB |
testcase_09 | AC | 233 ms
34,492 KB |
testcase_10 | AC | 232 ms
33,740 KB |
testcase_11 | AC | 231 ms
33,092 KB |
testcase_12 | AC | 232 ms
33,552 KB |
testcase_13 | AC | 236 ms
33,552 KB |
testcase_14 | AC | 232 ms
33,460 KB |
testcase_15 | AC | 180 ms
31,140 KB |
testcase_16 | AC | 184 ms
36,024 KB |
testcase_17 | AC | 189 ms
31,848 KB |
testcase_18 | AC | 241 ms
26,656 KB |
testcase_19 | AC | 22 ms
15,732 KB |
コンパイルメッセージ
Main.swift:86:9: warning: initialization of immutable value 'M' was never used; consider replacing with assignment to '_' or removing it let M = line[1] ~~~~^ _
ソースコード
import Foundation public struct Deque<T> { private var array: [T?] private var head: Int private var capacity: Int private let originalCapacity: Int public init(_ capacity: Int = 10) { self.capacity = max(capacity, 1) originalCapacity = self.capacity array = [T?](repeating: nil, count: capacity) head = capacity } public var isEmpty: Bool { return count == 0 } public var count: Int { return array.count - head } public mutating func enqueue(_ element: T) { array.append(element) } public mutating func enqueueFront(_ element: T) { if head == 0 { capacity *= 2 let emptySpace = [T?](repeating: nil, count: capacity) array.insert(contentsOf: emptySpace, at: 0) head = capacity } head -= 1 array[head] = element } public mutating func dequeue() -> T? { guard head < array.count, let element = array[head] else { return nil } array[head] = nil head += 1 if capacity >= originalCapacity && head >= capacity*2 { let amountToRemove = capacity + capacity/2 array.removeFirst(amountToRemove) head -= amountToRemove capacity /= 2 } return element } public mutating func dequeueBack() -> T? { if isEmpty { return nil } else { return array.removeLast() } } public func peekFront() -> T? { if isEmpty { return nil } else { return array[head] } } public func peekBack() -> T? { if isEmpty { return nil } else { return array.last! } } } func readInt() -> [Int] { return readLine()!.split(separator: " ").map { c in Int(c)! } } func main() { let line = readInt() let N = line[0] let M = line[1] let students = readInt() var deque = Deque<Int>(N) for s in students { deque.enqueue(s) } let S = readLine()! for s in S { if s == "L" { let a = deque.dequeue()! let b = deque.dequeue()! deque.enqueueFront(a+b) deque.enqueue(0) } else { let a = deque.dequeueBack()! let b = deque.dequeueBack()! deque.enqueue(a+b) deque.enqueueFront(0) } } for _ in 1...N { print(deque.dequeue()!, terminator: " ") } print() } main()