Cod sursa(job #432572)
| Utilizator | Data | 2 aprilie 2010 15:40:00 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
int i,n,v[100001],poz,au,k;
FILE *f=fopen("farfurii.in","r"),*g=fopen("farfurii.out","w");
int main(void)
{
fscanf(f,"%d%d",&n,&k);
int p;
p=1;
while ((p*(p-1))/2<k) p++;
poz=n-p+1+(p*(p-1))/2-k;
for (i=1;i<=n;i++)
{
if (n-i-p==-1)
v[i]=n-poz+1+n-p;
else
{
if (n-i-p<0) if (i<=poz)v[i]=n-i+1+n-p+1; else v[i]=n-i+n-p+1;
else v[i]=i;
}
}
for (i=1;i<=n;i++)
fprintf(g,"%d ",v[i]);
fclose(g);
return 0;
}