Cod sursa(job #2107822)
Utilizator | Iordache Ioan-Bogdan iordache.bogdan | Data | 17 ianuarie 2018 18:50:03 |
---|---|---|---|
Problema | Farfurii | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <cstdio>
#include <cassert>
using namespace std;
int main() {
assert(freopen("farfurii.in", "r", stdin));
assert(freopen("farfurii.out", "w", stdout));
int N, K;
cin >> N >> K;
int S = 1;
while (S * (S - 1) / 2 < K)
++S;
int diff = S * (S - 1) / 2 - K;
int swap_value = N - diff;
for (int i = 1; i <= N - S; ++i)
printf("%d ", i);
printf("%d ", swap_value);
for (int i = N; i >= N - S + 1; --i)
if (i != swap_value)
printf("%d ", i);
printf("\n");
return 0;
}