Cod sursa(job #391694)

Utilizator vicenzo_cnuStan Alexandru Dan vicenzo_cnu Data 6 februarie 2010 05:04:18
Problema Farfurii Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#define Nmax 100001
long long k,m,comp;
int n,c,p;
char v[Nmax];

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

fclose(stdin);
fclose(stdout);
return 0;
}