Cod sursa(job #2899934)
| Utilizator | Data | 9 mai 2022 18:59:24 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
const int dim = 1e5 + 2;
int main() {
int n, k, v[dim], dp = 0, old_dp, j, aux;
fin >> n >> k;
aux = n;
for(j = 1; j <= n && dp <= k; j++) old_dp = dp, dp += j;
for(int i = 1; i <= n; i++)
if( i <= n - j + 1)
v[i] = i;
else v[i] = aux--;
k -= old_dp;
int st = n - j + 1, dr = n;
while( k ) {
swap(v[st], v[dr--]);
--k;
}
for(int i = 1; i <= n; i++) fout << v[i] << " ";
return 0;
}