diff options
| author | Gabriel Schneider <[email protected]> | 2026-03-26 16:23:24 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-03-27 13:48:42 -0300 |
| commit | 7c32657002fca2c7e2195d789b1b11e3071d79a2 (patch) | |
| tree | 6ee80577abce9f16251b3b8c642ae290ad8084b7 /trees/blog/obi2018-cinco.typ | |
| parent | c5388feaf9a3bc57070af7c75d03c88bc4fbda4a (diff) | |
| download | 0x4200.cafe-7c32657002fca2c7e2195d789b1b11e3071d79a2.tar.gz 0x4200.cafe-7c32657002fca2c7e2195d789b1b11e3071d79a2.zip | |
Squashed older blog files
Diffstat (limited to 'trees/blog/obi2018-cinco.typ')
| -rw-r--r-- | trees/blog/obi2018-cinco.typ | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/trees/blog/obi2018-cinco.typ b/trees/blog/obi2018-cinco.typ new file mode 100644 index 0000000..0b9115e --- /dev/null +++ b/trees/blog/obi2018-cinco.typ @@ -0,0 +1,46 @@ +#import "html_elements.typ": post +#import "./lib.typ": flex, svg_inline + +#show: post + +- #link("https://olimpiada.ic.unicamp.br/pratique/ps/2018/f3/cinco/")[Enunciado] + +Podemos criar um algoritmo guloso simples, trocar sempre (em ordem): + +1. O dígito mais significativo que for trocado por um número maior do que ele +2. (na falha do primeiro) O dígito menos significativo que for trocado por um número menor do que ele + + ```cpp + #include <bits/stdc++.h> + using namespace std; + + int main() { + + int n; + scanf("%d",&n); + int arr[n]; + + for(int i=0;i<n;i++) scanf("%d",&arr[i]); + + for(int i=0;i<n;i++) { + if(arr[i]<arr[n-1]&&(arr[i]==0||arr[i]==5)) { + swap(arr[i],arr[n-1]); + for(int j=0;j<n;j++) printf("%d%c",arr[j],j==n-1?'\n':' '); + exit(0); + } + } + + for(int i=n-1;i>=0;i--) { + if(arr[i]==0||arr[i]==5) { + swap(arr[i],arr[n-1]); + for(int j=0;j<n;j++) printf("%d%c",arr[j],j==n-1?'\n':' '); + exit(0); + } + } + + puts("-1"); + + return 0; + } + ``` + |
