Cod sursa(job #2899937)

Utilizator RobertuRobert Udrea Robertu Data 9 mai 2022 19:09:38
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 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;
            fout << 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 = n - j + 2; i <= n; i++) fout << v[i] << " ";
 
    return 0;
}