10965 | 2024. 04. 22 16:04:23 | Vargus | Kombináció (50) | cpp17 | Hibás válasz 35/50 | 3ms | 3932 KiB |
#include <iostream>
#include <queue>
#define ll long long
using namespace std;
vector <ll> x, y, z;
ll n, k;
bool jo(ll lep)
{
if (y[lep - 1] <= y[lep] && y[lep] >= x[lep])
return true;
return false;
}
int main()
{
cin >> n >> k;
x.resize(k + 1);
y.resize(k + 1);
z.resize(k + 1);
for (ll i = 1; i <= k; ++i)
{
cin >> x[i];
y[i] = x[i];
z[i] = x[i];
}
ll n1;
for (ll i = k; i >= 1; --i)
{
n1 = n - k + i;
if (y[i] != n1)
{
y[i]++;
for (ll j = i + 1; j <= k; ++j)
y[j] = y[j - 1] + 1;
break;
}
}
bool ok = false;
for (ll i = 1; i <= k; ++i)
{
n1 = n - k + i;
if (z[i] == n1)
{
z[i]--;
ok = true;
break;
}
}
if (!ok)
{
z[1]--;
for (ll i = 2; i <= k; ++i)
z[i]++;
}
for (ll i = 1; i <= k; ++i)
cout << z[i] << " ";
cout << "\n";
for (ll i = 1; i <= k; ++i)
cout << y[i] << " ";
return 0;
}
/*
6 4
1 4 5 6
5 3
3 4 5
*/
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 35/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1748 KiB | |||
2 | Hibás válasz | 0/0 | 3ms | 1992 KiB | |||
3 | Részben helyes | 1/2 | 3ms | 2232 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2484 KiB | |||
5 | Részben helyes | 1/2 | 3ms | 2632 KiB | |||
6 | Részben helyes | 1/2 | 3ms | 2836 KiB | |||
7 | Részben helyes | 1/2 | 3ms | 3052 KiB | |||
8 | Részben helyes | 1/2 | 3ms | 3056 KiB | |||
9 | Részben helyes | 1/2 | 3ms | 3184 KiB | |||
10 | Részben helyes | 2/4 | 3ms | 3268 KiB | |||
11 | Elfogadva | 4/4 | 3ms | 3268 KiB | |||
12 | Elfogadva | 4/4 | 3ms | 3392 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3480 KiB | |||
14 | Részben helyes | 2/4 | 3ms | 3724 KiB | |||
15 | Részben helyes | 2/4 | 3ms | 3724 KiB | |||
16 | Elfogadva | 6/6 | 3ms | 3848 KiB | |||
17 | Részben helyes | 3/6 | 3ms | 3932 KiB |