Z07

Trafik Sorguları

Başmühendis (Staff/Lead)
Hedef Süre: 40 - 50 Dakika
Tip: ARRAY

Teknik Tanım & Görev

Bir akıllı şehir sistemi n adet kavşakta araç sayısını izliyor. Kavşaklar 0'dan n-1'e kadar numaralanmıştır ve başlangıçta HEPSİNDE 0 araç vardır. Sisteme sırayla iki tür işlem gelir: ["add", i, d] -> i. kavşaktaki araç sayısına d EKLE (d NEGATİF OLABİLİR). ["sum", l, r] -> l ve r DAHİL olmak üzere [l, r] aralığındaki kavşakların TOPLAM araç sayısını raporla. Her "sum" işleminin sonucunu, işlem sırasını koruyarak bir diziye yaz ve bu diziyi döndür. "add" işlemleri çıktıya bir şey yazmaz. SORGULAR HIZLI OLMALIDIR: her iki işlem türü de en kötü O(log n) karmaşıklığında çalışmalıdır.

Fonksiyon İmzası (Python)

sorgu_sonuclari(n: int, islemler: list) -> list[int]

Girdi ve Çıktı Sözleşmesi

Çıktı Kuralı:Uzunluğu 'sum' sayısı kadar olan tam sayı dizisi. Hiç sum yoksa boş dizi [].

Sistem Kısıtları (Constraints)

1 <= n <= 10^5
1 <= islemler.length <= 10^5
-10^4 <= d <= 10^4
"sum" işlemlerinde 0 <= l <= r <= n-1

Örnek Yürütme Analizi

n = 5
["add",0,3], ["add",2,7], ["sum",0,4] -> toplam 10 (ÇIKTI: 10)
["add",1,-2], ["sum",1,2] -> -2+7 = 5 (ÇIKTI: 5)
["sum",4,4] -> 0 (ÇIKTI: 0)
cevap: [10, 5, 0]

Örnek Test Senaryoları (3)

Örnek 1
Girdi:[5,[["add",0,3],["add",2,7],["sum",0,4],["add",1,-2],["sum",1,2],["sum",4,4]]]
Beklenen Çıktı:[10,5,0]
Örnek 2: Tek Ekleme Tüm Aralık
Girdi:[3,[["add",1,10],["sum",0,2]]]
Beklenen Çıktı:[10]
Örnek 3: Başlangıç Sıfır Toplamı
Girdi:[4,[["sum",0,3]]]
Beklenen Çıktı:[0]
Python Editörü Yükleniyor...
Girdi Parametreleri
[
  5,
  [
    [
      "add",
      0,
      3
    ],
    [
      "add",
      2,
      7
    ],
    [
      "sum",
      0,
      4
    ],
    [
      "add",
      1,
      -2
    ],
    [
      "sum",
      1,
      2
    ],
    [
      "sum",
      4,
      4
    ]
  ]
]
Beklenen Çıktı
[
  10,
  5,
  0
]