Cod sursa(job #2908570)

Utilizator db_123Balaban David db_123 Data 4 iunie 2022 13:48:55
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <vector>

using namespace std;

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

#define ll long long

int n,k;

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

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

void solve(){
    int 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;
    for(int i=1;i<=n-lastI;i++){
        cout<<i<<" ";
        
    }
    int pos=n-lastI+(curr-k)+1;
    int val=0;
    for(int i=n;i>n-lastI;i--){
        if(pos==i){
            val=i;
        }
    }
    cout<<val<<" ";
    for(int i=n;i>n-lastI;i--){
        if(pos!=i){
            cout<<i<<" ";
        }
    }
}

/// 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;
}