Cod sursa(job #921110)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 20 martie 2013 19:46:21
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <cstdio>
using namespace std;

long long n,k,i,j;
int v[100005];

void swap(int &a,int &b) {
    int c = a;
    a = b;
    b = c;
}

int main() {
    freopen("farfurii.in","r",stdin);
    freopen("farfurii.out","w",stdout);
    scanf("%d %d",&n,&k);
    for (int x = 1;x<=n;x++) v[x] = x;
    for (i=1;i*(i+1)/2<=k;i++);
    j = k - i*(i-1)/2;
    int x,y;
    for (x = y = n-i;x<=n;x++) v[x] = n - x + y;
    x = n-j;
    while (v[x] < v[x-1]) swap(v[x],v[x-1]),x--;
    for (x=1;x<=n;x++) printf("%d ",v[x]);
    return 0;
}