Cod sursa(job #2908714)

Utilizator db_123Balaban David db_123 Data 5 iunie 2022 12:03:41
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("farfurii.in");
ofstream cout("farfurii.out");

#define ll long long

ll n,k;

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

ll sumG(ll nr){
    return 1LL*nr*(nr+1)/2;
}

void solve(){
    ll nr,curr,lastI;
    for(int i=n;i>0;i--){
        nr=sumG(i-1);
        if(nr>=k){
            curr=nr;
            lastI=i;
        }
        else{
            break;
        }
    }
    // cout<<curr<<" "<<lastI;
    // return;
    for(int i=1;i<=n-lastI;i++){
        cout<<i<<" ";
    }
    
    ll pos=curr-k,cnt=0,val;
    for(int i=n;i>n-lastI;i--){
        if(cnt==pos){
            val=i;
            break;
        }
        cnt++;
    }
    cout<<val<<" ";
    cnt=0;
    for(int i=n;i>n-lastI;i--){
        if(cnt!=pos){
            cout<<i<<" ";
        }
        cnt++;
    }
}

/// 1 2 3 4 5 6 7
/// 1 2 7 6 5 4 3
/// 1 2 5 7 6 4 3

int main(){

    read();
    solve();
    return 0;
}