Cod sursa(job #432033)

Utilizator DranaXumAlexandru Dumitru Paunoiu DranaXum Data 1 aprilie 2010 19:07:32
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<iostream>
#include<vector>

#define NMAX 100001

using namespace std;

vector<int> v;
int64_t n,k;

int main()
{
    int64_t i,j,aux;
    freopen("farfurii.in","r",stdin);
    freopen("farfurii.out","w",stdout);
    scanf("%lld%lld",&n,&k);
    i=n-1;
    v.push_back(0);
    for(j=1;j<=n;j++) v.push_back(j);
    for(i=1;i<=n && k-aux+1<v.size();i++, aux=(n-i)*(n-i-1)/2)
    {
        if(k<=aux)
        {
            printf("%d ",v[1]);
            v.erase(v.begin()+1);
        }
        else
        {
            printf("%d ",v[k-aux+1]);
            v.erase(v.begin()+k-aux+1);
        }
    }
    for(i=v.size()-1;i>0;i--) printf("%d ",v[i]);
    return 0;
}