Cod sursa(job #432626)
| Utilizator | Data | 2 aprilie 2010 16:04:47 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
#include <math.h>
FILE *f=fopen("farfurii.in","r"),*g=fopen("farfurii.out","w");
int main(void)
{
long long i,n,poz,k;
fscanf(f,"%lld%lld",&n,&k);
int p;
p=(long long)sqrt(2*k);
p++;
while (p*(p-1)<2*k)
p++;
poz=n-p+1+(p*(p-1))/2-k;
i=1;
while (i<=n)
{
if (n-i-p==-1)
fprintf(g,"%lld ",n-poz+1+n-p);
else
{
if (n-i-p<0) if (i<=poz)fprintf(g,"%lld ",n-i+1+n-p+1); else fprintf(g,"%lld ",n-i+n-p+1);
else fprintf(g,"%lld ",i);
}
i++;
}
fclose(g);
return 0;
}
