Cod sursa(job #2623051)

Utilizator FLORENTIN-GIULIANO.DUMITRUDumitru Florentin Giuliano FLORENTIN-GIULIANO.DUMITRU Data 2 iunie 2020 15:32:18
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#define fisierI "farfurii.in"
#define fisierO "farfurii.out"
#define ll long long
#define create new ll
#define median (n-i)*(n-i-1)/2

std::ifstream in(fisierI);
std::ofstream out(fisierO);
ll k,n;

class vector{
    ll *a;
    int s;
public:
    vector(){
        a = create[2];
        s = 0;
    }

    void resize(){
        a = create[n];
    }

    void push(int val){
        a[s] = val;
        s ++;
    }

    int operator [](int i){
        return a[i];
    }

} vec;

void read(){
    in >> n >> k;
}

void solve(){
    ll i = 1;
    while(median>k){
        vec.push(i);
        i++;
    }
    ll aux = k-median+i;
    vec.push(aux);
    for(int j=n;j>aux;j--)
        vec.push(j);
    for(int j=aux-1;j>=i;j--)
        vec.push(j);
}

void afis(){
    for (int i = 0; i < n; i ++)
        out << vec[i] << " ";
}

int main()
{
    read();
    vec.resize();
    solve();
    afis();
    return 0;
}