9102 | 2024. 02. 13 23:28:00 | RRoli | Kombináció (50) | cpp17 | Elfogadva 50/50 | 3ms | 4128 KiB |
#include <bits/stdc++.h>
using namespace std;
int n, m, a[102], b[102];
void csokkent(int k) {
a[k]--;
if(a[k] <= a[k-1]) {
a[k] = a[k+1]-1;
csokkent(k-1);
}
}
void novel(int k) {
if(b[k]+1 < b[k+1]) {
b[k]++;
for(int i = k+1; i <= m; i++) b[i] = b[i-1] + 1;
} else {
novel(k-1);
}
}
int main()
{
cin >> n >> m;
for(int i = 1; i <= m; i++) {
cin >> a[i];
b[i] = a[i];
}
a[m+1] = n+1; b[m+1] = n+1;
bool csaknem = true;
for(int i = 1; i <= m; i++) if(a[i] != i) csaknem = false;
if(csaknem) for(int i = m, j = n; i >= 1; i--, j--) a[i] = j;
else csokkent(m);
for(int i = 1; i <= m; i++) cout << a[i] << ' ';
cout << endl;
bool csak_nem = true;
for(int i = m, j = n; i >= 1; i--, j--) if(b[i] != j) csak_nem = false;
if(csak_nem) for(int i = 1; i <= m; i++) b[i] = i;
else novel(m);
for(int i = 1; i <= m; i++) cout << b[i] << ' ';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1912 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2100 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2316 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2504 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2852 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 3024 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 3328 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 3244 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3508 KiB | |||
10 | Elfogadva | 4/4 | 3ms | 3508 KiB | |||
11 | Elfogadva | 4/4 | 3ms | 3592 KiB | |||
12 | Elfogadva | 4/4 | 3ms | 3708 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3756 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3652 KiB | |||
15 | Elfogadva | 4/4 | 3ms | 3904 KiB | |||
16 | Elfogadva | 6/6 | 3ms | 3876 KiB | |||
17 | Elfogadva | 6/6 | 3ms | 4128 KiB |