Cod sursa(job #2899913)

Utilizator RobertuRobert Udrea Robertu Data 9 mai 2022 18:20:29
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 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(int i = 0; i < dim; i++) v[i] = i + 1;

    for(j = 1; j <= n && dp <= k; j++) old_dp = dp, dp += j;

    for(int i = 1; i <= n - j + 1; i++) v[i] = i;
    for(int i = n - j + 2; i <= n; i++) 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;
}