Cod sursa(job #3155817)

Utilizator petric_mariaPetric Maria petric_maria Data 9 octombrie 2023 19:37:00
Problema Farfurii Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
int n,k,i,x,y,nr,v[100005];
int main()
{
    f>>n>>k;
    x=0;
    while(x*(x+1)/2<k) ++x;
    ++x;
    //cout<<x<<'\n';
    for(i=1;i<=n-x;++i) v[i]=i;
    if(x*(x-1)/2==k){
        v[n-x]=n-x; y=n-x+1;
        for(i=n-x+1;i<=n;++i) v[i]=n+y-i;
    }
    else{
        y=x*(x-1)/2-k;
        v[n-x+1]=n-x+1+y; y=n-x+1+y;
        nr=n;
        for(i=n-x+2;i<=n;++i){
            if(nr==y) nr--;
            v[i]=nr;
            --nr;
        }
    }
    for(i=1;i<=n;++i) g<<v[i]<<' ';
    return 0;
}