culegeri

Time limit: 0.3s Memory limit: 64MB Input: culegeri.in Output: culegeri.out

Ultima atracție a lotului național de informatică este șahul. Așa că Gimi s-a decis să-și deschidă o afacere, aceea fiind să vândă culegeri de șah. Aceste culegeri conțin tactici nemaivăzute, deci cererea este ridicată.

În avans, el a primit lista de comenzi. Zilnic, timp de NN zile, el va trebui să livreze cic_i culegeri la finalul zilei ii. Gimi și-a început afacerea prin cumpărarea unei fabrici ce poate produce KK culegeri pe zi, stocul inițial de culegeri fiind S=0S = 0.

Zilnic, el poate alege una din următoarele două opțiuni:

  • Gimi oprește producția în această zi și modernizează fabrica. În urma îmbunătățirilor, capacitatea de producție a fabricii va crește cu 11 (KK+1K \leftarrow K + 1).
  • Gimi urmărește cu atenție procesul de printare. Astfel, stocul de culegeri va crește cu KK (SS+KS \leftarrow S + K).

La finalul zilei ii, el va livra cic_i culegeri (SSciS \leftarrow S - c_i). Dacă nu are cel puțin cic_i culegeri în stoc, atunci lipsa lui de punctualitate va fi evidențiată, iar activitatea nu va mai putea continua.

Cerință

Cunoscând numărul de zile în care se desfășoară activitatea, producția zilnica inițială, respectiv lista cu cele NN comenzi, să se rezolve următoarele cerințe:

  • Dacă T=1T = 1, atunci Gimi vrea să afle numărul maxim de culegeri pe care le poate avea în stoc la finalul ultimei zile (a NN-a zi).
  • Dacă T=2T = 2, atunci Gimi vrea să afle numărul maxim de culegeri pe care le poate avea în stoc la finalul celei de-a ii-a zi, pentru fiecare ii de la 11 la NN.

Date de intrare

Prima linie din fișierul de intrare conține trei numere TT, NN și KK, separate prin câte un spațiu. A doua linie va conține NN numere, unde al ii-lea număr reprezintă cic_i, comanda de culegeri din a ii-a zi.

Date de ieșire

  • Dacă T=1T = 1, atunci fișierul de ieșire va conține un singur număr natural, reprezentând numărul maxim posibil de culegeri rămase în stoc la finalul celei de a NN-a zi.
  • Dacă T=2T = 2, atunci fișierul de ieșire va conține, pe o singură linie, NN numere naturale separate prin câte un spațiu, unde al ii-lea număr reprezintă numărul maxim posibil de culegeri rămase în stoc la finalul celei de a ii-a zi.

Restricții

  • 1N500 0001 \leq N \leq 500 \ 000
  • 0KN0 \leq K \leq N
  • 0ciNK0 \leq c_i \leq N \cdot K
  • Se garantează că există o modalitate prin care Gimi își va putea desfășura activitatea până în ultima zi inclusiv.
  • Strategia utilizată pentru ziua ii nu trebuie neapărat să fie continuată în ziua i+1i + 1. Se poate folosi o altă strategie, diferită de cea pentru ziua precedentă.
# Punctaj Restricții
1 7 T=1T = 1 și 1N151 \leq N \leq 15
2 14 T=1T = 1 și 1N2 0001 \leq N \leq 2 \ 000
3 19 T=1T = 1 și 1N500 0001 \leq N \leq 500 \ 000
4 8 T=2T = 2 și 1N151 \leq N \leq 15
5 21 T=2T = 2 și 1N2 0001 \leq N \leq 2 \ 000
6 31 T=2T = 2 și 1N500 0001 \leq N \leq 500 \ 000

Exemple

culegeri.in

2 5 2
1 1 3 1 3

culegeri.out

1 2 1 2 2


culegeri.in

1 5 2
1 1 3 1 3

culegeri.out

2

Explicații

Pentru primul exemplu, T=2T = 2, deci se rezolvă a doua cerință. Notăm cu "P xP \ x" zilele în care vom produce xx culegeri, iar cu "I 1I \ 1" zilele în care vom crește producția cu 1. Strategiile optime, pentru fiecare zi, ar putea fi:

  • ziua 1: P 2P \ 2
  • zilele 1-2: P 2P 2P \ 2 \rightarrow P \ 2
  • zilele 1-3: P 2P 2P 2P \ 2 \rightarrow P \ 2 \rightarrow P \ 2
  • zilele 1-4: P 2I 1P 3P 3P \ 2 \rightarrow I \ 1 \rightarrow P \ 3 \rightarrow P \ 3
  • zilele 1-5: P 2I 1P 3P 3P 3P \ 2 \rightarrow I \ 1 \rightarrow P \ 3 \rightarrow P \ 3 \rightarrow P \ 3

Se observă că strategiile diferă în funcție de ziua în care se vor termina experimentele. Pentru zilele 1-4, capacitatea de producție va crește în a doua zi, dar pentru zilele 1-3, capacitatea de producție nu se va modifica.

În plus, este imposibilă creșterea capacității de producție în prima zi, deoarece stocul ar fi zero, iar Gimi trebuie să livreze o culegere.

Pentru al doilea exemplu, T=1T = 1, deci se va rezolva prima cerință. Se va afișa doar stocul maxim posibil la finalul ultimei zile.

Log in or sign up to be able to send submissions!