fix: removing duplicated tests and correcting some small solutions

This commit is contained in:
2026-05-04 15:35:34 -03:00
parent 9c0eca4a3f
commit c2d1d60303
129 changed files with 255835 additions and 255622 deletions

1
.gitignore vendored
View File

@@ -15,3 +15,4 @@ build_debug*
# my stuff # my stuff
.venv .venv
contest-tools contest-tools
link.sh

View File

@@ -0,0 +1,51 @@
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{fullpage}
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Caching Offline}
\author{}
\date{}
\begin{document}
\maketitle
O problema consiste em simular um gerenciador de cache e determinar o número mínimo de falhas de página. Como a sequência completa de requisições é conhecida previamente, podemos utilizar uma estratégia gulosa para resolver o problema.
\subsection*{Representação do estado}
\begin{itemize}
\item A memória principal (cache) é representada por um conjunto (\textit{hash set}), que armazena os identificadores das páginas atualmente carregadas, permitindo consultas em tempo constante.
\item O histórico futuro de cada página é mapeado em vetores, registrando todos os índices (momentos no tempo) em que cada página será requisitada.
\item Um vetor de ponteiros auxiliares acompanha qual a próxima ocorrência futura correspondente para cada página.
\end{itemize}
\subsection*{Estratégia de solução usando Algoritmo Guloso}
A estratégia ótima dita que, quando a cache estiver cheia e ocorrer uma falha, a página a ser substituída deve ser aquela que demorará mais tempo para ser referenciada novamente no futuro.
\begin{enumerate}
\item Leia a capacidade da cache ($k$) e o tamanho da sequência de requisições ($v$).
\item Faça um pré-processamento da sequência de páginas:
\begin{itemize}
\item Armazene a sequência original em um vetor.
\item Para cada página lida, adicione o índice atual à sua respectiva lista de referências futuras.
\end{itemize}
\item Inicialize a cache vazia, o controle de progresso das referências futuras e o contador de falhas (\textit{misses}).
\item Percorra a sequência de requisições passo a passo:
\begin{itemize}
\item Se a página atual \textbf{não} estiver na cache, ocorreu uma falha de página. Incremente o contador de \textit{misses}.
\item Se a cache já estiver cheia (tamanho igual a $k$) no momento da falha, é necessário eleger uma página residente para remoção:
\begin{itemize}
\item Inspecione todas as páginas atualmente na cache.
\item Se alguma página não possuir mais requisições futuras, ela é a candidata ideal e deve ser escolhida para remoção imediata.
\item Caso contrário, compare a próxima requisição de todas e encontre aquela que vai demorar mais tempo para aparecer de novo (índice mais distante no futuro), removendo-a.
\end{itemize}
\item Insira a nova página na cache.
\item Ao final de cada iteração, independentemente de ter ocorrido acerto ou falha, avance o ponteiro de ocorrências da página que acabou de ser processada.
\end{itemize}
\item Ao término da simulação, imprima o total de falhas contabilizadas.
\end{enumerate}\end{document}

Binary file not shown.

View File

@@ -0,0 +1,52 @@
\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Caching Offline}{1}{256}{}
Dado um sistema com memória principal dividida em \( k \) frames, deseja-se gerenciar uma sequência de requisições de páginas de modo a minimizar falhas de memória (\textit{cache misses}).
Considere que a sequência de páginas referenciadas \( (v_0, v_1, \ldots, v_{n-1}) \) é conhecida a priori, onde cada \( v_i \) representa o identificador de uma página. Inicialmente, a cache (memória principal) encontra-se vazia.
O objetivo é projetar um algoritmo que determine a \textbf{menor quantidade possível de falhas de página} para a sequência dada. Uma falha ocorre sempre que uma página referenciada não está presente em um dos \( k \) frames disponíveis. Se a cache estiver cheia e uma nova página precisar ser carregada, uma das páginas residentes deve ser substituída.
\Entrada
A entrada é composta por duas linhas.
A primeira linha contém dois inteiros: \( k \) (\( 1 \le k \le 1000 \)), representando a quantidade de frames disponíveis na memória, e \( n \) (\( 1 \le n \le 1000 \)), representando o número total de referências na sequência de páginas.
A segunda linha contém \( n \) inteiros positivos \( v_i \) (\( 1 \le v_i \le 1000 \)), representando os identificadores de cada página na sequência de referências.
\Saida
A saída deve conter uma única linha.
Deve ser impresso um único inteiro representando o \textbf{menor número de falhas de página} (\textit{cache misses}) que podem ser obtidos para a sequência e capacidade de memória fornecidas.
\ExemploEntrada
\begin{Exemplo}
\texttt{1~3} & \texttt{3}\\
\texttt{1~2~3} & \\
\rowcolor{gray!20}\texttt{2~5} & \texttt{3}\\
\rowcolor{gray!20}\texttt{1~2~3~1~1} & \\
\texttt{5~10} & \texttt{5}\\
\texttt{1~2~3~4~5~5~4~3~2~1} & \\
\end{Exemplo}
\Notas
No primeiro caso de teste, temos \( k=1 \) frame e uma sequência de 3 referências: \((1, 2, 3)\). Como a memória só pode comportar uma página por vez e todas as referências são para páginas diferentes, cada nova requisição resultará em uma falha (\textit{miss}) para carregar a página atual e substituir a anterior. Portanto, o total de falhas é 3.
No segundo caso, a memória possui \( k=2 \) frames e a sequência é \((1, 2, 3, 1, 1)\).
\begin{itemize}
\item As páginas 1 e 2 são carregadas inicialmente, causando 2 falhas.
\item Quando a página 3 é requisitada, a memória está cheia, com as páginas \{1, 2\}. Substitui-se a página 2 pela 3, \{1, 3\}.
\item As referências subsequentes para a página 1 já estão na memória.
\item O número mínimo de falhas é 3.
\end{itemize}
No terceiro caso, com \( k=5 \) frames e a sequência \((1, 2, 3, 4, 5, 5, 4, 3, 2, 1)\), o número de páginas distintas na sequência é exatamente 5. Como a capacidade da memória é suficiente para manter todas as páginas únicas da sequência simultaneamente, ocorrem apenas as 5 falhas iniciais para o preenchimento da cache. Uma vez que todas as páginas estão carregadas, as referências de volta (\(5, 4, 3, 2, 1\)) resultam todas em acertos (\textit{hits}). O total de falhas é 5.\end{ProblemaAutor}
\end{document}

View File

@@ -0,0 +1,51 @@
\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Inclusão de Subintervalos}{1}{256}{}
Seja \( S \) um conjunto de \( n \) intervalos sobre a reta real \( ([l_0, r_0], [l_1, r_1], \ldots, [l_{n-1}, r_{n-1}]) \), de modo que, para todo intervalo \( [l_i, r_i] \), temos \( l_i \le r_i \).
Dizemos formalmente que um intervalo \( a = [l, r] \) \textbf{cobre} outro intervalo \( b = [l', r'] \) quando \( l \le l' \) e \( r \ge r' \).
O objetivo é encontrar o menor subconjunto \( S' \subseteq S \) tal que todo intervalo pertencente ao conjunto original \( S \) seja coberto por, pelo menos, um intervalo pertencente a \( S' \). Em outras palavras, você deve selecionar a quantidade mínima de intervalos de \( S \) que, juntos, sejam capazes de conter todos os demais intervalos dados.
\Entrada
A entrada consiste em duas linhas.
A primeira linha contém um inteiro \( n \) (\( 1 \le n \le 10^5 \)), representando a quantidade de intervalos no conjunto \( S \).
As próximas \( n \) linhas contêm, cada uma, dois inteiros \( l_i \) e \( r_i \) (\( 1 \le l_i \le r_i \le 10^5 \)), representando o início e o fim de cada intervalo.
\Saida
Para cada caso de teste, imprima um único inteiro representando o tamanho do menor conjunto \( S' \subseteq S \) que cobre todos os intervalos de \( S \).
\ExemploEntrada
\begin{Exemplo}
\texttt{3} & \texttt{3}\\
\texttt{1~2} & \\
\texttt{3~4} & \\
\texttt{5~6} & \\
\rowcolor{gray!20}\texttt{4} & \texttt{1}\\
\rowcolor{gray!20}\texttt{2~4} & \\
\rowcolor{gray!20}\texttt{3~7} & \\
\rowcolor{gray!20}\texttt{1~8} & \\
\rowcolor{gray!20}\texttt{4~8} & \\
\end{Exemplo}
\Notas
No primeiro caso de exemplo, temos os intervalos \(\{ [1, 2], [3, 4], [5, 6] \}\). Como nenhum intervalo está contido em outro (eles são disjuntos), todos os três são necessários para garantir a cobertura de si mesmos. Portanto, a saída é 3.
No segundo caso, temos os intervalos \(\{ [2, 4], [3, 7], [1, 8], [4, 8] \}\). Note que:
\begin{itemize}
\item O intervalo \([1, 8]\) cobre o intervalo \([2, 4]\) pois \( 1 \le 2 \) e \( 8 \ge 4 \).
\item O intervalo \([1, 8]\) cobre o intervalo \([3, 7]\) pois \( 1 \le 3 \) e \( 8 \ge 7 \).
\item O intervalo \([1, 8]\) cobre o intervalo \([4, 8]\) pois \( 1 \le 4 \) e \( 8 \ge 8 \).
\end{itemize}
Como o intervalo \([1, 8]\) cobre todos os outros e a si mesmo, o menor conjunto \( S' \) possui apenas 1 elemento.\end{ProblemaAutor}
\end{document}

View File

@@ -0,0 +1,30 @@
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{fullpage}
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Unconventional pairs}
\author{Codeforces 1054 (Div. 3)}
\date{}
\begin{document}
\maketitle
\subsection*{Resumo da Estratégia}
O problema pede para agrupar $n$ elementos em duplas de modo que a maior diferença absoluta entre os membros de qualquer par seja a menor possível. A solução utiliza uma abordagem \textbf{gulosa (greedy)} baseada em ordenação.
\subsection*{Passos para a Solução}
\begin{enumerate}
\item \textbf{Ordenação:} Ordene o array $a$ em ordem crescente: $a_1 \le a_2 \le \dots \le a_n$.
\item \textbf{Emparelhamento Adjacente:} Para minimizar a diferença entre dois números, eles devem estar o mais próximos possível na reta numérica. Portanto, a melhor estratégia é sempre emparelhar elementos vizinhos na sequência ordenada: $(a_1, a_2), (a_3, a_4), \dots, (a_{n-1}, a_n)$.
\item \textbf{Cálculo do Máximo:} Calcule a diferença $d_i = a_{2i} - a_{2i-1}$ para cada par $i$. A resposta final é o valor máximo entre todas essas diferenças.
\end{enumerate}
\subsection*{Complexidade}
\begin{itemize}
\item \textbf{Tempo:} $O(N \log N)$ devido à ordenação. O cálculo das diferenças é $O(N)$.
\item \textbf{Espaço:} $O(N)$ para armazenar os elementos do array.
\end{itemize}\end{document}

View File

@@ -0,0 +1,47 @@
\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Unconventional pairs}{1}{256}{Codeforces 1054 (Div. 3)}
Um novo reality show de competição foi lançado na cidade. De acordo com as regras do programa, os participantes devem ser organizados de uma forma específica: dado um número par de pessoas, todos os participantes devem obrigatoriamente ser agrupados em duplas.
Você recebeu um array de \( n \) inteiros \( a_1, a_2, \ldots, a_n \). Sabe-se que \( n \) é um número par. O objetivo é dividir os participantes em exatamente \( n/2 \) pares \( (a_{p_1}, a_{q_1}), (a_{p_2}, a_{q_2}), \ldots, (a_{p_{n/2}}, a_{q_{n/2}}) \). Cada índice do array original pode pertencer a apenas um único par.
Para qualquer par \( (x, y) \), a \textbf{diferença} é definida pelo valor absoluto \( |x - y| \). A tarefa é formar as duplas de modo que a \textbf{maior diferença} encontrada entre todos os pares seja a \textbf{mínima possível}.
Determine o menor valor possível para essa diferença máxima.
\Entrada
A entrada consiste em vários casos de teste. A primeira linha contém um único inteiro \( t \) (\( 1 \le t \le 10^4 \)), indicando o número de casos de teste.
Para cada caso de teste:
\begin{itemize}
\item A primeira linha contém um número par \( n \) (\( 2 \le n \le 2 \cdot 10^5 \)), representando o comprimento do array \( a \).
\item A segunda linha contém \( n \) inteiros \( a_i \) (\( -10^9 \le a_i \le 10^9 \)), representando os valores atribuídos a cada participante.
\end{itemize}
É garantido que a soma de \( n \) em todos os casos de teste não excede \( 2 \cdot 10^5 \).
\Saida
Para cada caso de teste, imprima um único número inteiro representando o \textbf{valor mínimo possível da diferença máxima} entre os elementos de todos os pares formados.
\ExemploEntrada
\begin{Exemplo}
\texttt{2} & \texttt{1}\\
\texttt{2} & \texttt{0}\\
\texttt{1~2} & \\
\texttt{4} & \\
\texttt{5~5~5~5} & \\
\end{Exemplo}
\Notas
No primeiro caso de teste, temos \( n=2 \) e os participantes possuem valores \(\{1, 2\}\). Como só existe uma forma de formar um par, a única diferença possível é \( |1 - 2| = 1 \). Portanto, a maior diferença mínima possível é 1.
No segundo caso de teste, temos \( n=4 \) com os valores \(\{5, 5, 5, 5\}\). Como todos os participantes possuem o mesmo valor, qualquer par formado terá uma diferença de \( |5 - 5| = 0 \). Assim, a diferença máxima entre todos os pares é 0, que é o valor ótimo.\end{ProblemaAutor}
\end{document}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,437 +1,437 @@
899170 107285744
692272 132428743
814110 141250161
1769740 141987850
1097459 122854193
1250388 107129986
179810 169856433
268244 135579595
152318 139957041
75369 121692753
1965923 140409008
806946 226171939
1201548 278664476
2117470 95776703
633912 238863854
1319568 158438575
145846 259575154
1090890 163430514
767212 129097027
1560950 163271771
529049 152248982
805214 188245000
1300846 113604479
990339 172405974
2382034 131708634
831515 109959786
1436619 105604491
528001 88697227
43096 207843990
517202 124761179
577327 152208464
670029 125093467
741866 96383496
49096 161022206
565073 120354228
519221 100598499
807952 103859393
1258007 225570652
407320 155604240
469797 166455566
1953085 118248819
858652 137965863
426902 123839574
3402609 128990733
42758 91213488
1590867 154620254
62796 121592695
1144862 128810825
243908 147661569
2829 131922090
237308 175314202
400985 167633743
9441 129496799
1936764 152969399
368376 93872526
282575 107121279
1279837 164539621
105252 160893854
456701 214725666
2137241 135155172
919648 86303031
275139 118686575
971225 150972009
54849 139813557
576113 116950930
1405057 110620288
220312 142526048
237783 280638373
37676 118032538
79305 109654543
1202859 193172991
727655 135956420
1088077 133017245
825157 150181352
30177 207414958
709292 162628967
599192 108998487
137137 111902385
876506 131199961
1415284 166648874
1272443 102773402
166684 144975879
545709 104923140
854842 156897029
132279 93005180
194189 201551253
128547 112878011
14396 76772454
90068 153264660
1378410 130814483
599407 173728989
2390634 169204971
240611 144952471
1945160 155604554
1426717 151797918
1150972 205273054
829624 152523065
1335414 180469309
417 153413669
322894 152155808
173304 101712246
161608 268379226
872989 234603340
1006511 141900968
912955 156449008
1015528 152730078
424289 177691748
647714 100684458
507541 143104122
368919 182006281
132710 157328361
248760 114596496
1521985 164582999
2542227 143066932
501754 208015473
484507 308497387
1061261 151426778
31065 159968372
168268 78930512
78781 100286013
1267436 174085445
741347 71898255
532088 184175704
3364 121395919
783246 118433019
229431 250692900
502674 180757484
2031615 110751961
524485 122149143
3233881 125447775
13967 91811485
1558283 181844209
659449 168664254
129361 134649660
1534910 314723393
210924 86553235
71191 128854008
334785 160295526
1265145 96264319
656812 100040688
381389 181145741
2918927 114251574
610772 102379984
91225 157019596
930060 141230471
330886 101236755
270400 162482146
224242 148536928
120936 178687434
1216767 181512265
2616085 256648338
771511 162596116
104932 156419062
336637 147519470
288135 233581808
2780124 122593098
1140390 119302505
1537905 91320785
9256 185759454
213918 173617083
665542 245658280
605737 96080661
292625 132322681
41133 94193103
374834 129510780
292403 236045181
194524 129602414
1536327 176494242
906466 148333581
2889650 104933141
969550 153318056
720583 310825838
693561 191648568
81217 79756020
40499 151975038
390379 112447639
504538 95474612
340134 149945425
1215155 132504851
233071 139997246
164162 135210581
791806 143712136
429733 150650463
1045712 118235592
205547 172428446
924542 139427997
456147 221100821
360952 156370547
254596 148109570
568919 101626552
794035 153992503
525951 149737828
673355 147014032
286190 151737099
490829 206069388
49090 119399710
2304042 143985134
233312 148658337
75827 111189915
1050582 136367700
648100 157508914
669539 158373234
3293687 138818504
1077794 155621512
1513818 108247392
979538 126056772
218662 130472290
928659 119059852
2589315 134519476
1362773 114272450
401159 125047199
2056859 122316763
1150622 91628497
914494 156122140
1331044 214968005
3560137 183154813
366754 165940835
503668 159316839
640053 231429156
568533 156927241
138012 214029919
37106 150470700
84469 118979380
802347 95547396
98766 199571640
330832 195148911
620190 175750016
2164 203670393
141459 109420363
1151209 185213744
1335063 124091914
525453 210494753
781390 100820065
873723 94563148
229714 154401928
136092 192645928
284461 111068730
415860 154956209
102499 138371517
2318486 126620176
369723 146264062
2501920 171527888
1310536 104564071
262950 274617505
37170 104901258
1376619 205435001
793579 106260991
2747 147536861
2632067 142429935
205352 161198025
768498 230544381
485149 222574562
1243101 92590397
1210031 195467747
1376277 176776778
793248 174068774
4249 206177623
401048 104610377
1613331 140705024
1620653 168176151
75759 204093185
1914217 113774351
712631 148337514
868660 177339937
2760875 148201180
169193 211547397
648061 112615380
551823 110585961
675436 137653737
2172323 110835366
177441 140712247
447125 155211896
1421667 148547618
1271199 215538380
617806 101036056
167464 93255305
2869444 171030776
1588122 95278446
640582 107811783
3312655 254495082
379868 265199509
1898768 83222069
1913624 277626672
697655 163516005
200026 131507493
1642850 93963802
150684 210759411
2599157 118817303
949865 119262648
859048 151868754
18040 156768815
930560 136207688
1027703 80055445
242094 179614642
60785 129279944
854218 219648074
1327705 168647536
308003 124990523
28911 136017339
172385 210856791
121294 109549722
476807 127843360
182544 95239699
476849 224331071
525548 143193437
175844 143041141
562934 138844652
336129 181892331
1603153 201986070
82980 329077200
217332 182818740
1840872 127490309
1573515 122113086
405880 179218630
768350 206974428
448310 150887664
341840 144195304
1090884 208359328
365583 144847249
919838 103731257
587043 84076982
1845898 137503484
740740 107752807
186740 86765138
75583 145263067
273825 207844066
333018 77952349
108540 146227354
179938 93926217
2928712 118652561
238679 140230765
216775 117815538
1160795 150620917
337664 229725355
836575 132916429
148621 128894752
1145045 96796435
1419633 304491219
716545 116505399
2863732 103694653
2414839 148348354
489828 136535152
377866 191087416
3213054 181039511
1303662 210346528
368950 132116677
370114 72215327
1309279 158422731
181259 135985222
2187085 145973071
450424 284723366
2340638 141972710
418249 174405221
483070 159249937
180297 136375567
91728 177251029
291576 116250334
2077598 187287250
265108 175290795
1341074 99587320
2305204 171900322
888302 92849761
219970 194989363
93266 185770346
327947 224548969
1344423 115383988
174553 122910413
244804 166382814
1160455 89584232
650669 203747758
194617 151293406
486787 159153288
137069 119116527
1259476 147548484
1244526 143254621
190123 130683270
957505 150495473
882642 91700274
2576344 169236777
1612951 76747362
376810 182518439
157755 118653015
1503039 106837712
726092 117180359
1441357 109125633
158543 121941417
132447 187762134
1280851 111504120
478973 237506712
2258944 151810591
1548047 160165383
1527719 196140194
1891422 185584158
1331284 86003623
800492 131284282
428107 115783461
1095141 155851028
58641 115163812
1038195 180233892
1014071 278721983
537666 197281339
48860 105134305
1315834 70071728
49490 236741688
949112 214172916
760305 120706780
22791 209944286
352780 131727930
23790 198798154
1392138 100700231
933236 120031840
1347957 163140889
152155 101724825
770344 239343385
482026 140863542
840444 104323005
564373 190889288
1278635 227173095
610324 116892545
536196 160812361
1044271 79941709
728191 140760343
1293274 169894024
1465469 92284724
532966 196732601
1936917 110465858
89755 166798914
1397291 140780518
1377835 263812856
1589851 154690996
792909 205830307
360742 155252636
283630 88520512
289192 164872137
982649 89737545
347573 221934596
2314320 107983190

File diff suppressed because it is too large Load Diff

View File

@@ -1,114 +1,114 @@
552 34024439
5874 60919746
35571 41158134
8028 46289094
24301 51083298
31993 51961396
6162 32365149
44066 33418859
2118 35608517
23717 53710793
1877 41114484
8480 46964543
94939 42543589
8813 56234031
22303 47993734
45605 42907709
19879 51426779
67143 33876005
217280 53136717
57592 32393026
9879 48949973
8051 40596786
34884 62847970
4526 32369028
14314 46036203
73392 87581785
16671 36534033
39086 40992962
19721 36605854
75543 48573990
8097 44312959
84155 49353137
55350 49525310
34019 42952259
13287 40463127
4555 44260416
17746 57646109
7891 52065133
20666 55176753
570 48902748
9211 40509422
18050 57694481
48179 69062910
22342 34325452
38580 30900459
43780 75320163
45748 49113812
5321 60155925
57987 46291670
31210 41702718
47587 53363405
43437 43276537
755 49076335
17658 41738048
4814 43241489
2892 42088937
5264 56938825
29911 37434893
15439 54538401
28395 32665867
5048 44947239
28623 37588909
57432 36428342
1867 54030371
27843 39683194
14232 48545693
82255 52349137
76153 36071881
10508 54600407
4177 51558825
25266 50835992
22794 32259747
31104 43438530
21100 45745999
14866 37797301
21347 39968237
77443 33540236
2474 40331141
13842 30916563
81516 42662886
3995 60569896
14319 41518770
72288 65004356
62918 54748903
31007 47928355
5948 47647799
7638 28545523
12807 51912080
24570 46502990
29182 50034467
14948 38723982
78047 46725020
28726 46520895
61099 70664121
52671 60434399
7087 68457951
87619 40942234
11634 40844059
32552 46594912
10122 48328776
43739 45854210
25053 44793067
4159 49891269
3959 44977121
3748 40376078
68384 43396790
39905 50153726
125608 84302961
3945 45220389
64382 36615620
58930 41622093
58230 45860648
14227 51595558
4290 41049095

View File

@@ -1,398 +1,398 @@
5177 82675125
96409 72386838
36140 72500642
32801 57947355
101533 49063823
189219 58507342
277121 77192208
42975 55467688
185457 72134244
41319 107967443
119459 52561241
51437 43448067
11825 84028526
161945 61604475
59778 86466224
190205 58519504
82005 77919984
180063 72584278
41026 64462836
117396 94326344
43549 60985101
15130 61275310
12341 87778129
159949 54239728
29723 64167326
166727 60458356
57491 59968029
8039 67425408
74995 75381174
427230 66178162
280052 52729862
87467 66024319
24990 89587581
5838 66632429
30514 74083419
43702 66073464
72685 77432612
14930 66754157
23462 54528854
158889 66635029
302015 77559705
301313 85645731
34450 63993265
105416 75737093
330040 47899530
338730 66657874
23749 79771104
49096 71223295
246496 96917569
117803 100738768
14861 60157805
195926 55697950
45971 50870402
24879 57726050
8174 87510668
183604 72167410
3907 63526818
369812 58317166
14445 61791913
71298 79003274
80896 68840017
15405 60287882
9213 48863697
12512 53322327
36701 54412038
45145 63040585
41645 67195156
318065 73969629
323842 82519105
411763 89144706
19836 82717718
80068 116928015
383862 52989500
212109 56226357
434052 48291730
102877 61399122
84684 67212193
17894 90417456
89778 40613261
80153 60335559
105151 90703222
18673 74311103
182768 50110518
92536 62952766
46405 67675383
153429 86742388
202731 57586685
3951 72803683
5356 75566957
82689 67601213
33135 83039370
83483 107255730
42310 85704232
35023 53325767
59141 93988073
92497 59451745
5458 79811294
64386 102228184
152451 60529482
132453 84342930
116952 56980189
136993 56049477
92919 77247909
167439 81961231
59816 61251804
7019 100593021
138187 56020120
67710 62966731
144485 44861077
283381 88901519
128823 45290712
46901 68605567
23383 50022931
30463 78529794
58667 62408187
190563 57772526
62931 55010350
45342 78149900
1565 59025541
56883 96225894
21471 55479775
214926 54919538
67835 60953398
507673 61993045
227017 82033683
23774 49610870
88734 102676281
165455 55744010
148068 55526993
4637 57554220
271123 79270510
140205 69074794
18168 59449439
219758 89147750
87770 78886896
26513 74602290
23231 63355138
123293 89342893
66706 59993586
220688 76808015
217309 57701242
23267 55828591
7751 64130698
129700 47314678
35729 51245002
144049 61022565
12880 60318669
189992 68227210
5675 40190987
175613 74998905
153515 96008016
262096 73802875
184561 67540044
99761 63548130
40560 108303769
32839 65047333
83998 75430930
147964 91126345
70372 120503979
93211 74244161
119641 130636695
135038 55449891
17400 57618072
12075 49914091
84305 65764443
25278 56231713
94903 49103376
9963 59564988
60636 73401528
1914 53786230
24627 91309962
108667 80894922
105120 76045522
165172 64373641
7040 87075904
366153 82446732
212748 50615686
87307 51258778
159074 51958110
159284 55085113
10464 112444902
18720 66387452
8801 62201106
55220 88751444
24755 85881803
42756 49139861
41044 62121791
121146 61076168
72355 61043652
26472 98156592
67988 53052454
177787 61466308
323110 68955159
4269 63531949
35343 51098016
302554 45211394
197102 42568613
35490 46913221
27542 57957686
9032 70594031
34101 81367457
149976 64151247
56430 70874095
96145 72043823
165879 98607352
233776 76124695
65597 76917871
13656 110269466
87518 56860932
103167 76771022
179511 63605025
60375 50945828
42754 73965557
148306 49153103
111781 86314972
107092 56749624
29797 45350615
86456 61679801
8467 53225880
23539 79691679
50136 61472916
13170 68992887
30970 58390207
31534 71774104
87096 92286044
31440 75331710
28900 52246399
75237 46317424
259553 83159587
54606 51624063
75054 49797565
141860 96931664
5021 55133717
86546 64758567
59449 64137842
11634 84763826
238764 54312719
47986 46982821
259142 46083223
2484 76640483
12349 54119887
87945 45475921
34423 52600539
210946 56874576
38802 62319932
7803 79934905
57326 60296440
78499 57029634
18688 38419093
62191 59452474
60126 52901639
22646 55020248
412423 70086462
9574 70249271
34223 52599024
110764 61298301
4684 74142704
127211 88968676
23420 49778080
4648 38162997
33658 57957373
3021 88839689
67524 61953373
111310 66343857
175296 64505163
291207 61295296
301891 55430116
171808 61144366
7164 86227664
132693 77969597
24391 66290124
151439 83458841
53682 49277946
28520 45806495
3882 62763041
34579 80737323
98091 85037987
316799 58745331
132859 66696329
79747 73238060
108358 77256269
27909 53128863
58263 65186350
110348 58493916
11069 52777191
6253 91738662
41581 57821101
68853 93625023
60414 64166053
50838 99739920
31632 65141278
97355 40911590
271943 50063569
46597 61242901
135703 86433254
30658 73523306
45977 81621178
14132 115570072
37671 62251570
582835 76135066
13629 70221040
45833 43168549
9669 70114564
154236 68605576
79662 71852440
64598 54445379
111986 71741715
71813 56335156
71717 65105895
7187 61831059
44643 72320412
127821 71569672
99453 56809393
17033 89955060
14110 60308953
217587 50856831
275748 69793007
13161 69101856
128892 60655868
134878 93536461
41495 76842012
195497 56909061
153705 58316951
40975 59512049
157361 67932880
156115 69061250
21856 106695558
38980 57318116
269385 59014701
173823 46017338
9947 123866534
83312 69270577
272930 67202630
8144 44799348
79025 48184087
137513 47104629
138782 88607275
107688 77960021
109556 83628182
129235 65889679
127244 128953321
34481 66678024
13656 56548569
2629 141052920
46303 59266939
4389 78302743
55366 86701841
27853 66618519
182184 74474288
47816 51696215
45498 64003224
48604 93424749
143854 51543366
96110 51842821
196364 65706435
309520 71960484
19537 45254740
31274 52430941
123076 48487303
152306 47050297
104030 62635065
2059 47828666
38179 66690345
17017 59230509
22830 91436927
50923 69707504
12163 53650249
53775 75841391
68370 93717910
21981 65127296
61899 47768932
26538 74585987
186543 67066578
81620 58073752
46612 61546012
34781 56561421
228437 69662807
76763 88995769
74386 101392159
133342 78650487
43230 54269714
8273 60823727
49045 49353399
132376 79219605
128294 71362354
105739 67319169
80757 80375560
168033 63529054
160625 62514938
13144 66254484
157674 84367611
5140 66283114
3617 100641157
104509 60598321
33800 119839319
19929 58113108
124210 73124765
203213 49678955

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,230 +1,230 @@
8441 21306376
10798 21791844
5185 19091611
4259 27737726
2690 20196173
1254 23020240
4175 23228236
654 22088351
926 25817118
2872 20084903
9773 26084070
846 22847507
2239 18680084
240 17183154
6097 21931134
17000 23838950
7799 19938918
4042 26957714
6862 21687250
6948 20842632
18667 22853138
12756 19695868
4697 17905653
16833 21556157
4441 31231447
30059 15121798
4083 18833087
62 18807858
2821 22118118
3855 24852520
5407 20882684
31 19707720
4544 18804313
4609 18547825
1898 24365618
13288 17443628
3239 23152461
16542 21304757
1760 16775167
8356 28266900
13382 20298429
150 31990199
17632 23231963
27436 22356183
2760 30918990
7617 26633410
152 20440711
1890 20509556
11220 25175452
2472 33124197
3738 17490285
2761 18853666
6407 21454044
426 21950826
6072 19052167
14032 27303365
26759 21110133
3173 31328056
858 17144524
1636 25039703
13616 22642811
1835 26375132
14928 25297336
14739 19460054
7280 19287371
6513 21683942
15335 26925972
870 22678206
5564 20747152
11400 16171554
1673 17445161
2618 18531364
6362 23981275
876 22299467
4885 26732490
3198 26493510
10308 24689104
5676 21931005
7454 24150000
5413 24824178
2535 18493814
3944 19641451
9366 20893333
1282 16004192
16456 26865748
6848 27971560
24510 36376458
10441 20527899
34900 24253545
5338 22719109
2943 25291920
5205 26288779
5207 27151573
6608 23582628
1437 21066851
5931 22554014
2924 25365973
3843 19849775
11005 24958695
13517 20318062
1220 27659896
3603 15309695
34383 30467568
8704 19192724
21681 24027619
6178 28424752
5418 17283511
11321 22539422
2864 18513963
3144 21990136
1135 22291776
21172 17729910
268 33610891
282 15128405
6967 21424760
9051 17127783
15071 25196254
334 22342760
3721 32088750
4389 26155954
13105 21488738
1900 23969159
4998 19792561
18783 26379947
11296 15593819
2090 28340762
837 25262140
702 23009303
3650 19740448
22415 23983036
568 31124743
8060 19687950
860 25052486
664 23765748
3774 26857721
29451 20292691
1126 13415327
634 20098658
2821 22700164
11422 22012141
12726 36282811
5130 22330195
7781 23588891
3691 36094302
5531 19735949
17983 16316489
4616 18700067
2409 19519860
436 26305932
6107 32222721
6769 19545580
3299 25320869
491 27758797
25161 21443667
10043 27362955
11873 24517867
19245 17806003
2940 28006418
13931 27126951
53 20799892
18474 19731413
8532 21825309
7028 24851507
2253 24830337
3746 21087767
2291 25899688
5905 14719973
3022 21701194
12925 17346117
5161 24095930
0 19856281
545 22234727
1177 27157746
2121 27325283
4341 28518774
13359 16033429
4147 21569410
681 18661599
2097 29179440
14165 23505515
8229 29714041
12587 22406882
5800 26651982
26275 17077346
1995 22485952
3549 21031040
991 22658895
16834 25862218
458 19883185
1432 28842056
573 18165872
1837 21928511
3765 18201056
4690 21833780
5172 28191112
1820 23249078
6386 20099448
2048 25708490
1912 25853202
3887 24502194
1876 23584955
6282 20120099
16192 19352046
22214 29627452
1262 24005459
4202 20078716
2892 26263108
5079 24092008
7811 22044610
2667 19454782
7056 32576499
7186 15813612
1049 18271516
1467 23237217
735 24296900
39584 25591761
693 21507155
2661 17001277
3639 24255647
70 17256227
7299 19733188
7712 15683943
3569 21587242
2216 26337930
7608 19544241
10473 28559846
21297 19397394
2243 26224087
18278 22941657
7664 25605276

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -44,7 +44,7 @@
"solutions": { "solutions": {
"main-ac": "ac.cpp", "main-ac": "ac.cpp",
"alternative-ac": [], "alternative-ac": [],
"wrong-answer": [], "wrong-answer": ["wa.cpp"],
"time-limit": [], "time-limit": [],
"time-limit-or-ac": [], "time-limit-or-ac": [],
"time-limit-or-memory-limit": [], "time-limit-or-memory-limit": [],

View File

@@ -2,22 +2,24 @@
using namespace std; using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++)
cin >> nums[i];
int main(){ sort(nums.begin(), nums.end());
int t; cin >> t;
while (t--) {
int n; cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) cin >> nums[i];
sort(nums.begin(), nums.end()); int minDiff = numeric_limits<int>::min();
for (int i = 1; i < n; i+=2) {
minDiff = max(minDiff, nums[i] - nums[i - 1]);
}
int minDiff = INT_MAX; cout << minDiff << endl;
for (int i = 1; i < n; i++) { }
minDiff = min(minDiff, nums[i] - nums[i - 1]); return 0;
}
cout << minDiff << endl;
}
return 0;
} }

View File

@@ -0,0 +1,23 @@
#include <bits/stdc++.h>
using namespace std;
int main(){
int t; cin >> t;
while (t--) {
int n; cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) cin >> nums[i];
sort(nums.begin(), nums.end());
int minDiff = INT_MAX;
for (int i = 1; i < n; i++) {
minDiff = min(minDiff, nums[i] - nums[i - 1]);
}
cout << minDiff << endl;
}
return 0;
}

View File

@@ -5,6 +5,8 @@
\usepackage{url} \usepackage{url}
\pagenumbering{gobble} \pagenumbering{gobble}
\usepackage{hyperref} \usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Unconventional pairs} \title{ Tutorial: Unconventional pairs}
\author{Codeforces 1054 (Div. 3)} \author{Codeforces 1054 (Div. 3)}

View File

@@ -28,6 +28,7 @@ Para cada caso de teste:
Para cada caso de teste, imprima um único número inteiro representando o \textbf{valor mínimo possível da diferença máxima} entre os elementos de todos os pares formados. Para cada caso de teste, imprima um único número inteiro representando o \textbf{valor mínimo possível da diferença máxima} entre os elementos de todos os pares formados.
\ExemploEntrada \ExemploEntrada
\begin{Exemplo} \begin{Exemplo}
\texttt{2} & \texttt{1}\\ \texttt{2} & \texttt{1}\\
\texttt{2} & \texttt{0}\\ \texttt{2} & \texttt{0}\\

View File

@@ -1 +0,0 @@
20

View File

@@ -1 +0,0 @@
4

View File

@@ -1 +0,0 @@
29

View File

@@ -1 +0,0 @@
32

View File

@@ -1 +0,0 @@
25

View File

@@ -1 +0,0 @@
12

View File

@@ -1 +0,0 @@
100

View File

@@ -1 +0,0 @@
0

View File

@@ -1 +0,0 @@
41

View File

@@ -1 +0,0 @@
2

View File

@@ -1 +0,0 @@
26

View File

@@ -1 +0,0 @@
5

View File

@@ -1 +0,0 @@
29

View File

@@ -1 +0,0 @@
17

View File

@@ -1 +0,0 @@
22

View File

@@ -1 +0,0 @@
25

View File

@@ -1 +0,0 @@
27

View File

@@ -1 +0,0 @@
5

View File

@@ -1 +0,0 @@
15

View File

@@ -1 +0,0 @@
32

View File

@@ -1 +0,0 @@
34

View File

@@ -1 +0,0 @@
25

View File

@@ -1 +0,0 @@
0

View File

@@ -1 +0,0 @@
37

View File

@@ -1 +0,0 @@
19

Some files were not shown because too many files have changed in this diff Show More