Cod sursa(job #2899931)

Utilizator RobertuRobert Udrea Robertu Data 9 mai 2022 18:47:00
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 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;
}